Matcher des noms et retranscrire les donnees correspondante

Hello,

J"ai un petit blocage sur un projet VBA pouvez vous m"aider svp ?

je vous resume le probleme de la facon la plus simple possible:

En feuille 1 :

J ai deux colonne A et B avec les valeurs suivantes :

B 2

A 3

C 7

R 10

En feuille 2 seule la colonne B comporte les valeurs suivantes

Colonne B ( Feuille 2)

Z

R

A

B

En feuille 3 aucune donnee pour l"instant mais je place un bouton de commande exentrer sur la droite

Le but de ma macro est le suivant :

1er etape selectionner les valeurs de la colonne A feuille 1 qui correspondent aux valeurs de la colonne B feuille 2 et les afficher en colonne C de la feuille 3 en cliquant sur le bouton de commande voici mon code qui jusque la fonctionne :

Private Sub CommandButton1_Click()

Dim A As Range

Dim B As Range

Dim C As Range

Dim A2 As Range

Dim D As Range

Dim CELL As Range

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

Set A2 = Worksheets("Sheet1").Range("B1:B10")

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

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

Set D = Worksheets("Sheet3").Range("D1:D10")

For Each CELL In A

For i = 1 To 10

If CELL.Value = B.Cells(i).Value Then C.Cells(i).Value = CELL.Value

Next i

Next CELL

2 eme etape ( ou je bloque) = Pour toutes les valeurs qui ont matcher et qui apparaissent donc en colonne C feuille 3 je veux que les chiffres correspondant en colonne B feuille 1 viennent s afficher en colonne D feuille 3 voice mon code :

For Each CELL In C

For i = 1 To 10

If CELL.Value = A.Cells(i).Value Then D.Cells(i).Value = A2.Cells(i).Value

Next i

Next CELL

End Sub

Le probleme est que mon code affiche bien les valeurs numerique en colonne D feuille 3 cependant elle ne correspondent pas a la bonne lettre . Je souhaite que par exemple ici A s affiche en colonne C feuille 3 avec la valeur 3 qui lui correspond en colonne D feuille 3

Pouvez vous m"aider a trouver l erreur svp ?

Merci d avance

Hugo

Salut Hugo,

je n'ai pas trop réfléchi à simplifier ta macro mais tu te compliques vachement la vie avec toutes ces plages!!!

Pourquoi une deuxième boucle? Fais tout dans la première!

[code][/For Each CELL In A

For i = 1 To 10

If CELL.Value = B.Cells(i).Value Then

C.Cells(i).Value = CELL.Value

D.Cells(i).Value = CELL.Offset(0, 1).Value

End If

Next i

Next CELL

code]

A+

Hey

Super merci beaucoup c est vrai que je me complique lq vie

Derniere petite question en vrai dans mon projet les chiffres a aller chercher sont en colonnes F ET DEBUTE LIGNE 2 de la feuille A du coup il faut mettre

D.Cells(i).Value = CELL.Offset(1, 6).Value c est bien ca ?

Merci si tu peux me confirmer que c est bien ca meme si je sais quema question est un peu debile lol

Salut Hugo,

plutôt offset(1,5) ! De colonne A à F : BCDEF = 5, et si tes chiffres sont décalés d'une ligne par rapport à leur lettre correspondante, effectivement Offset(1,5).

Bon travail!

A+

AU TOP !

Ca marche nickel merci a toi

Rechercher des sujets similaires à "matcher noms retranscrire donnees correspondante"