Trier des donnees sur 3 feuilles distinctes

Bonjour,

J’ai besoin d’un petit coup de main sur mon code :

Je dispose comme suit de trois feuilles

En feuille 1: j ecris les lettres A B C dans les celulles A1 A2 A3

Feuille 2: j ecris les lettres B A Z dans les celulles B1 B2 B3

En Feuille 3: je place un bouton de commande qui lance ma macro

Le but est le suivant : Si en feuille 1 colonne A je retrouve une donnee egale a la feuille 2 colonne B alors il faut l”inscrire en colonne C de la feuille 3 lorsque je lance ma macro via le bouton de commande.

Ainsi la difficulte est qu il faut faire matcher les donnees de la feuille 1 avec celle de la feuille 2 est les resssortir (si possible trier par ordre alphabetique) en feuille 3

Voici Mon code

Private Sub CommandButton1_Click()

Dim i As Integer

Dim COL1 As Range

Dim COL2 As Range

Dim COL3 As Range

Set COL1 = Worksheets("Sheet1").Range("A1:A10")

Set COL2 = Worksheets("Sheet2").Range("B1:B10")

Set COL3 = Worksheets("Sheet3").Range("C1:C10")

For i = 1 To 10

If COL1.Cells(i).Value = COL2.Cells(i).Value Then

COL3.Cells(i).Value = COL1.Cells(i).Value

End If

Next i

End Sub

Mais cela ne fonctionne pas car la macro affichera la letter A en feuille 3 par exemple que si A est en A1 feuille 1 et en A1 feuille 2 , moi je souhaite qu il apparaisse en feuille 3 peut importe sont emplacement dans les feuilles 1 et 2 du moment qu il apparait dans les deux feuilles. Ainsi je ne veux pas matcher l emplacement des celulles mais leur contenu.

J espere avoir ete assez clair

Merci d avance pour votre aide

Bonjour,

Pas certain d'avoir tout compris mais je te propose la solution ci-annexée.

J'ai envisagé une plage de 10 éléments en Feuil1 et 10 en Feuil2. Si plus il faudra adapter la macro :

Il faudra certainement complété cette macro en fonction de l'application à résoudre mais je suppose que tu désirais simplement connaître la technique pour faire la recherche. En fait ici je teste simplement si je trouve l'élément dans la feuil2 et si oui (pas d'erreur) je viens l'écrire dans la Feuil3. Comme tu n'a pas indiqué où, je l'ai simplement mis en colonne A. ensuite je trie.

La macro remet la feuil3 à "" au démarrage.

Tu peux donc ajouter des lettres dans la feuill1 et 2 sur 10 cellules et cela se répercutera dans la feuill3 si commun aux 2 autres feuilles.

Si tu veux plus il faudrait m'en dire plus également.

Merci de confirmer si cela t'a aidé.

A+

Chris

Hello,

Merci pour ta reponse effectivement ton code m aide bien

Le probleme c est que mes valeurs en feuille 1 sont sur la colonne F et non pas sur une ligne

j ai modifier ton code en mettant DON1 = cells(i, 6) mais ca ne marche pas

autre probleme je dois matcher les donnees avec celle situer en colonne L de la feuille 2 alors comment aller les chercher en modifiant ton code ? je pense que l erreur se situe au niveau de cette ligne test = WorksheetFunction.VLookup(DON1, Range("LISTE2"), 1, False)

Enfin une fois les donnees selectionner et matcher je veux qu elles apparaissent sur la colonne B de ma feuille 3 mais a partir de la cellule B2 je pense qu il faut juste modifier Range("A:A") dans ton code par Range("B2:B10") non ?

Merci de ton aide

Bonjour,

voilà le fichier en retour avec les modifications demandées.

Regardes bien les différences ainsi si tu changes encore une fois d'avis quant à l'implantation de tes données, tu pourras adapter toi même.

A+

Chris

Rechercher des sujets similaires à "trier donnees feuilles distinctes"