Vlookup copy paste

Bonjour à tous !

J'ai besoin d'aide svp car suis débutant en VBA.

Voici ce qu'il me faut:

une macro qui vas chercher le nom d'une cellule de la colonne C de la feuille1 à la feuille2 colonne A, et qui vas copier les cellules des colonnes D et E de la feuille2 vers les colonnes I et J de la feuille1.

J'ai mis des images pour plus d'informations.

Feuille1: Exemple: Chercher le nom TOTO5 dans la feuiile2 colonne A

2024 01 21 17 09 55 book1 xlsx excel

Feuille2: Après avoir trouvé le nom TOTO5 dans la colonne A, copier les données des colonnes D et E qui sont sur la même ligne que TOTO5, =>

2024 01 21 17 11 49 book1 xlsx excel

Feuille1: => vers les colonnes I et J de la Feuille1 sur la même ligne que TOTO5 de la colonne C

2024 01 21 21 51 12 book1 xlsx excel

Et ainsi de suite pour tous les noms de la colonne C de la feuille1.

Merci d'avance !

Bonjour,
Par formule !?
Cdlt.

8stefan.xlsx (12.21 Ko)
I2 : =INDEX(Sheet2!D2:E9; XMATCH(C2:C9; Sheet2!A2:A9); {1\2})

Merci !

Mais ce qu-il me faut c'est un macro pour que je puisse l'associe à un bouton de façon à ce que quand je click sur le bouton, il lance la macro.

Associé un bouton à une macro, ça je sais faire !

Bonjour !

Je reprends:

J'ai besoin d'aide svp car suis débutant en VBA.

Voici ce qu'il me faut:

Une macro qui quand on click sur le bouton "ASSOCIATION", qui vas chercher le nom d'une cellule de la colonne C de la feuille "NAME" à la feuille "DATA" colonne A, et qui vas copier les cellules des colonnes D et E de la feuille "DATA" vers les colonnes I et J de la feuille "NAME".

J'ai mis des images et le fichier excel pour plus d'informations.

image image
4book1.xlsm (12.57 Ko)

Merci !

Bonjour,

pas besoin de macro !
Avec une formule tu as le résultat directement. Pourquoi vouloir appuyer sur un bouton en plus ??
Il faut d'abord apprendre à se servir d'excel...
Tu peux utiliser Recherchev() aussi.
eric

J'ai trouver :)

Sub FindAndCopy()
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Dim Rng1 As Range
Dim Rng2 As Range
Dim c As Range

Application.ScreenUpdating = False
Set WS1 = Sheets("NAME")
Set WS2 = Sheets("DATA")
Set Rng1 = WS1.Range(WS1.Range("C2"), WS1.Range("C" & Rows.Count).End(xlUp))
Set Rng2 = WS2.Range(WS2.Range("A2"), WS2.Range("A" & Rows.Count).End(xlUp))
For Each c In Rng1
On Error Resume Next
Rng2.Find(What:=c).Offset(, 3).Resize(, 4).Copy Destination:=c.Offset(, 6)
Err.Clear
Next c
Set WS1 = Nothing
Set WS2 = Nothing
Set Rng1 = Nothing
Set Rng2 = Nothing
Application.ScreenUpdating = True
End Sub

Ca plante quand c n'est pas trouvé non ?
Il manque On Error Goto 0 pour réinitialiser le gestionnaire d'erreur.

Alors qu'une simple formule suffit...
eric

Rechercher des sujets similaires à "vlookup copy paste"