Aide VBA pour coller des cellules specifiques d'une autre feuille

Bonjour à toutes et à tous,

Je demande votre aide pour m'aider dans mission.

Mon problème c'est que j'ai deux feuilles excel avec plusieurs colonnes.

Dans ma première feuille sheet1 j'ai une colonne avec les codes fournisseurs et une colonne avec des adresses email des fournisseurs. (une adresse par fournisseur)

Et dans ma deuxième feuille sheet2 j'ai une colonne avec les codes fournisseurs mais je ne pas de colonne avec les adresses email des fournisseurs mais les adresses email se trouve dans ma première feuille sheet1.

Le seul lien que j'ai entre les deux feuilles c'est la colonne des codes fournisseurs.

Ma question c'est comment je fais pour copier les adresses email de ma feuille sheet1 vers ma feuille sheet2 avec le code fournisseur qui correspond à la bonne adresse email.

Je suis désolé je n'ai pas le droit de partager mon fichier mais j'espère que vous avez compris ce que je veux dire.

ps: désolé pour les fautes d'orthographe

Bonjour,

Supposons que :

- Sur la feuille 1, les fournisseurs soient en colonne A et les mails en colonne B,

- sur la feuille 2, les fournisseurs soient en colonne C, et commencent en ligne 2, alors mettez cette formule dans la colonne où vous souhaitez avoir les mails sur la feuille 2 (colonne D par exemple, donc à partir de D2) :

=RECHERCHEV($C2;Sheet1!$A$1:$B$100;2;0)

Et propagez la formule à l'ensemble de la colonne.

NB : Pour ce genre d'opérations, il faut des tableaux structurés normalement.

Cdlt,

Merci pour ton retour,

Le premier soucis, c'est que la deuxieme feuille sheet2 elle se renouvelle toute les semaines et le nombre de ligne peut varier d'une semaine à l'autre et le second soucis, je dois faire des macros pour que mes collegues l'utilisent le fichier aussi des que je ne suis pas present.

Je dois passer par de la vba mais mon niveau est assez maigre

Elle se renouvelle, c'est-à-dire ? Parce que si la feuille reste la même mais que le nombre de lignes varie, le tableau structuré (TS) est idéal, il y a propagation automatique des formules sur les lignes insérées.

Sinon, voici un essai en attendant de trouver une meilleure solution :

sub test()
with sheets("Sheet2")
    dl = .cells(.rows.count, 3).end(xlup).row
    redim t(1 to dl - 1, 1 to 1)
    for i = lbound(t) to ubound(t)
        t(i, 1) = application.vlookup(.cells(i + 1, 3).value, sheets("Sheet1").range("A1:B100"), 2, 0)
    next i
    .cells(2, 4).resize(ubound(t)).value = t
end with
end sub

Le cas échéant, il faudra adapter les références (ici reprises de mon exemple précédent).

j'adapte puis j'essaye ça et je te redis

merci

Oui chaque semaine on à un nouveau fichier sheet2 mais sans adresse email et ma macro va permettre de copier les adresses email de la feuille sheet1 qui est fixe et elle ne change pas

Après avoir adapter les colonnes, ça m'affiche des erreures lors de la copie sur ma feuille sheet2 peut etre que mes colonnes n'ont pas de standard et ils sont personnalisée.

Adresse Email (sheet2, colonneH)
#REF!
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#REF!
#REF!
#REF!
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#N/A
#REF!

car moi sur ma feuille sheet1 le code fournisseur correspond à la colonne B et les adresses email à la colonne C, et sur ma feuille sheet2 le code fournisseur correspond a la colonne A et je voudrais copier les adresses email sur la colonne H. Peut etre que il ya une erreure lorsque j'ai adapter jsp

With Sheets("Macro")

dl = .Cells(.Rows.Count, 1).End(xlUp).Row

ReDim t(1 To dl - 1, 1 To 1)

For i = LBound(t) To UBound(t)

t(i, 1) = Application.VLookup(.Cells(i + 1, 1).Value, Sheets("Composants").Range("B2:B10000"), 3, 0)

Next i

.Cells(2, 8).Resize(UBound(t)).Value = t

End With

Alors je suis désolé, l'erreur venait de ma part car j'ai mal adapté mes colonnes et mes feuilles par rapport à ton exemple. Mais c'est corrigé et ton code est juste, les adresses se copient là où il le faut et ça fonctionne à merveille.

Je te remercie beaucoup tu es vraiment un génie. Tu es plus doué que Mr robot (c'est une référence à une série.)

Bonjour,

Je suis content que ça marche et te remercie pour ces compliments !

Désolé, je ne connais pas Mr Robot (enfin que de nom) donc je n'ai pas la réf...

Honnêtement, même si cette solution fonctionne, tu aurais tout intérêt à privilégier la formule avec RECHERCHEV, la compréhension de l'utilisation de cette fonction te ferait gagner beaucoup de temps.

Au plaisir,

Rechercher des sujets similaires à "aide vba coller specifiques feuille"