Probleme FORMULE VBA

@kiss6

Bonjour la communauté

J’ais un souci avec un Module VBA que @Mimimathy a fait sur le forum que j’ais donc récupéré

mais j’ais beau le retourner dans tous les sens rein n’y fais j’ais toujours l’erreur d’exécution ‘1004’

pourriez-vous m’éclairer

je sais que la vérité n’est pas loin car le code VBA est très bien expliquer mais je bug

Cordialement

@kiss6

Bonjour,

Je remarque que les ("" --> guillemets) surlignés en jaune ne sont pas valable, retapes les :wink:

1 J'aime

Re @Mimimathy

Ok @Mimimathy c’était bien c’la le module passe bien de la feuille "Course du jour " a la feuille “Feuil1”

mais je n’ais aucune copie

le “J=11” est bien la ligne ou la copie doit commencer

CDLT

@kiss6

Re, NON

J c’est la ligne où sera coller à partie de la ligne 11
I 'i) c’est la ligne qui sera copier qui commence à 17 jusqu’à la dernière ligne

Ws —> W pour Worksheet et s pour source
Wd —> W pour Worksheet et d pour destination

1 J'aime

Re @Mimimathy

OUI ca j’ais bien compris car comme je le dit dans le premier énoncé le module VBA est très bien expliquer

mais je n’ais pas de copie

je reviendrais vers vous un peut plus tard je doit m’absenter a toute :+1: :wink:

merci

cdlt
@kiss6

Re,

Modifie cette ligne

If Ws.Name Like "Feuill" Then

par

If Ws.Name Like "Feuil*" Then

Re @Mimimathy

j’ais bien changer le “IF” comme vous me l’avez demander mais toujours rien pas de copie

Dite moi si j’ais bien compris ou pas la boucle **“I”**boucle bien sur la colonne “B” de la feuille "Course du

jour" a partir de la ligne 17.

Et le “Ws” est bien la référence de la “Feuil1”

CDLT

@kiss6

Re @Mimimathy

Excuser moi mais je n’avais pas remarquer la boucle “For Each Ws In Worksheets 'Boucle sur les onglets”

boucle sur les onglets alors que je n’ais pas besoin de "Boucler sur tous les onglets

je veux juste copier ce qui ce trouve sur la Feuille “Course du jour” suivant condition car je voudrais EX: A

PARTIR D’UNE LISTE DEROULANTE CHOISIR UNE COURSE N° 1 OU COURSE N°2 ETC JUSQUE 9" et

quelle me copie juste la course choisi et me la mette sur

la Feuille “Feuil1” car avec cette boucle c’la m’ouvre la “Feuil3”

Voulez-vous que je vous mette le classeur exemple

CDLT

@kiss6

1 J'aime

Re,

Place un classeur avec des données exemples sur les bonnes cellules et les bons noms de feuille, cela ira plus vite :wink:

Re @Mimimathy

OK je vous met le classeur vous pouvez virer tous les module si vous voulez ce n’est qu’un classeur test :wink:

Recherche le mot plat sur la ligne.xlsm (172,7 Ko)

CDLT

@kiss6

Bonjour,

Macro Module :

Sub Transfert()
  Dim Ws As Worksheet, Wd As Worksheet, NoLigne%, dernLig%, Dl%, i%, j%, Course$ 'Déclaration des variables
  Application.ScreenUpdating = False
  j = 11
  Set Wd = Sheets("Feuil1")
  Wd.Activate 'Active l'onglet
  dernLig = Wd.Range("B" & Rows.Count).End(xlUp).Row + 1 'n° de la dernière ligne non vide de la colonne B
  Wd.Range(Cells(j, 2), Cells(dernLig, 21)).Clear 'efface les anciennes données
  Wd.Range("B8").Clear
  Set Ws = Sheets("Course du jour")
  Ws.Activate 'Active l'onglet
  Range("B2").Select
  'Attribue à la variable "Course" le nom de la course à chercher par rapport au combobox
  Course = UCase(Left(Sheets("Course du jour").ComboBox1.Value, 7)) & "N°" & Right(Sheets("Course du jour").ComboBox1.Value, 1)
  Cells.Find(What:=Course, After:=ActiveCell, LookIn:=xlValues, _
      LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
      MatchCase:=True, SearchFormat:=False).Activate
  NoLigne = ActiveCell.Row + 4 'Attribue le N° de la ligne
  Cells(NoLigne, 2).Select
  Dl = Cells(NoLigne, 2).End(xlDown).Row 'n° de la dernière ligne non vide du bloc de la colonne B
    For i = NoLigne To Dl 'boucle sur les lignes
      If Cells(i, 2) <> "" Then 'si la cellue colonne "B" n’est pas vide
        Ws.Range(Cells(i, 2), Cells(i, 8)).Copy Wd.Cells(j, 2) 'copie vers la feuille Feuil1
        Ws.Range(Cells(i, 10), Cells(i, 10)).Copy Wd.Cells(j, 9) 'copie vers la feuille Feuil1
        j = j + 1
      End If
    Next i
  Wd.Cells(8, 2).Value = Course 'Affiche le nom de la course en B8
  Sheets("Course du jour").Activate
  Range("B2").Select
  Application.ScreenUpdating = True
End Sub

Macro Feuille :

Private Sub ComboBox1_Change()
  Module1.Transfert
End Sub

Private Sub ComboBox1_DropButtonClick()
  ActiveSheet.ComboBox1.ListFillRange = "B3:C11"
  ComboBox1.ColumnCount = 2
  ComboBox1.ColumnHeads = False
  ComboBox1.ColumnWidths = "60;220"
End Sub

Recherche le mot plat sur la ligne.xlsm (56,5 Ko)

1 J'aime

Re @Mimimathy

Je vous remercie mais je ne veux pas que les course qui ce mettent sur la “Feuil1” s’efface car la

**“Feuil1”**me sert de BDD

Alors es que je peut supprimer ces deux lignes Wd.Range(Cells(j, 2), Cells(dernLig, 21)).Clear

Wd.Range(“B8”).Clear

Pour que je puisse garder ce qui ce met sur la Feuil1 car tous les jours je peut prendre une ou deux voir

plus

En attendant jolie travail et dire que c’la fait plus de quinze jours que je cherchais car comme je n’aime pas

embêter le monde j’essayais de trouver quelque chose de similaire a ce que je voulais mais sans résultat

j’avais même parcourue tout le forum

Encore Merci et dite moi ci je peut supprimer ces deux lignes

Cdlt

@kiss6

Re,

Dans ce cas, il faut le préciser avant :face_with_raised_eyebrow:

Il faut rajouter un bouton pour remise à zéro afin d’effacer les anciennes données
Ensuite, il faut préciser le N° de la course en colonne A par exemple afin de les différentier

Je regarde :wink:

1 J'aime

Re @Mimimathy

OK @Mimimathy la prochaine fois je serais plus précis :wink: :+1:

Mais je ne veut pas de bouton pour effacer les anciennes données puisqu’elle s’efface toute seule lorsque

je les charges a partir du net

CDLT

@kiss6

Re,

Ah Oui, les données de la feuille 1 s’effacent, là tu me trou le c… et avec quel macro ? :thinking:

1 J'aime

Re

Non pas les données de la feuil1 puisque cela ils faut que je les gardes

Non celle de la Feuille “course du jour” ce remette a jour quand je fais fonctionner mon programme

Ce que vous m’avez fait je l’adapterais au programme

Le fichier que je vous est fourni est juste un classeur TEST :wink:

CDLT

@kiss6

Re,

Bon j’ai mis quand même le bouton pour remise à zeéro la feuille 1 (Si tu n’en veux pas, tu supprimes le bouton et la macro du module (RAZ)

Recherche le mot plat sur la ligne.xlsm (58,3 Ko)

1 J'aime

Re

OK @Mimimathy

Tout est parfait comme d’habitude :+1: :smiley:

Je supprimerais le bouton et la macro du module (RAZ) car il faut que je garde toute les rentrées de la Feuil1

J’aimerais tellement avoir vos compétence c’la m’éviterais de vous embêtez

CDLT

@kiss6

PS : Vous n’êtes pas obliger de répondre si ces trop indiscret " vous n’êtes pas des VOSGES ??"

Et bien Oui, Vosgien :wink:

N’oublie pas de passer le post en résolu

Re

vous connaissez “BAN DE LAVELINE”

@kiss6