VBA : Vlookup
Hello,
Je reviens ici car j'ai souvent eu de bons conseils. Je vous sollicite pour un recherchev que je n'arrive pas à faire sur VBA.
J'ai déjà mes deux colonnes de valeurs à comparer stockées sous le nom de spaceconcat0 et spaceconcat. Je ne les ai pas reporté quelque part physiquement sur une colonne d'un fichier Excel, ces valeurs sont dans la mémoire uniquement mais quand j'ai voulu les reporter physiquement quelque part, ça marchait très bien.
La chose que je cherche à faire est la suivante :
= recherchev ( Les valeurs successives de spaceconcat0 ; Tableau de recherche spaceconcat ; 1 ; False )
Mais je n'y arrive pas.
Voilà mon code
For Each Compare In wscible.Range("C1:C10")
Compare.Value = WorksheetFunction.Application.VLookup(spaceconcat0, spaceconcat, 1, False)
Next
Quelqu'un peut m'aider ? Je galère depuis un petit moment là dessus
le 1er argument de vlookup doit être une valeur, et non pas une plage.
il faut donc changer votre fonction pour qu'à chaque itération elle retourne la valeur juste.
Passer une plage en 1er argument ne marchera pas.
Merci Stéphano,
C'est bien ce que je pensais. Je reviens avec un nouveau code d'ici peu. Si tu peux m'aider. J'en serais ravi.
Cdt
Voilà comment j'ai défini mon spaceconcat précédemment.
'Mise en forme des données du fichier du mois M
Wbsource.Sheets("PNB_CMLT_201701_fzpb49aa.fz0").Activate
Nb_colonne0 = 30 'nb de colonnes à droite
'Selection.End(xlDown).Select
'Nb_ligne0 = Selection.Row 'nb de lignes à traiter, c'est à dire toutes celles de l'onglet
Nb_ligne0 = 10
For Each d In Range("B1:B" & Nb_ligne0) 'On définit la première colonne des données à concaténer
concat0 = d.Value
For i = 1 To Nb_colonne0
concat0 = concat0 & d.Offset(0, i) 'on concatene
spaceconcat0 = Replace$(concat0, " ", vbNullString) 'on supprime les espaces
Next
ligne0 = d.Row
'Affichage du résultat de la concatenation
Wbcible.Activate
Wscible2.Activate
Range("A" & ligne0).Value = spaceconcat0 'colonne qui affichera le resultat ( ici colonne A)
Next