[résolu]problème avec Vlookup --> valeur #REF!

Ridame

XLDnaute Nouveau
Bonjour,

Je suis perdu et j'aurai vraiment besoin de votre aide.
Je veux faire une RechercheV en VBA et j'ai comme valeur #REF!
mon code:
Code:
Private Sub CommandButton1_Click()
Dim i As Integer

For i = 2 To 10

'Sheets("Feuil2").Range("B" & i).Value = Application.VLookup(Sheets("Feuil2").Range("A" & i).Value, Sheets("Feuil1").Range("A1:A10"), 2, False)
Sheets("Feuil2").Range("B" & i).Formula = Application.VLookup(Sheets("Feuil2").Range("A" & i).Value, Sheets("Feuil1").Range("A1:A10"), 2, False)

Next i

End Sub

Je souhaiterais avoir les mêmes valeur que dans le tableau en vert

Merci d'avance pour vote aide :)
 

Pièces jointes

  • testVlookup.xlsm
    21.5 KB · Affichages: 66
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : problème avec Vlookup --> valeur #REF!

Bonsoir Ridame.


Essayez :​
VB:
Private Sub CommandButton1_Click()

Dim i As Integer

    For i = 2 To 10
        With Sheets("Feuil2").Cells(i, 1)
            .Offset(, 1).Value = Application.VLookup(.Value, Sheets("Feuil1").Range("A1:B10"), 2, False)
        End With
    Next i

End Sub


ROGER2327
#6866


Vendredi 27 Absolu 141 (Saintes Gigolette et Gaufrette, dogaresses - fête Suprême Quarte)
13 Vendémiaire An CCXXII, 9,2145h - potiron
2013-W40-5T22:06:53Z
 

Staple1600

XLDnaute Barbatruc
Re : [résolu]problème avec Vlookup --> valeur #REF!

Bonjour à tous

Une autre façon, sans boucle
Code:
Private Sub CommandButton1_Click()
With Range("B2:B10")
    .FormulaR1C1 = "=VLOOKUP(RC[-1],Feuil1!R2C1:R10C2,2,0)"
    .Value = .Value
End With
End Sub
 

Ridame

XLDnaute Nouveau
Re : [résolu]problème avec Vlookup --> valeur #REF!

Slt Staple1600

Ta solution est beaucoup mieux, car beaucoup plus rapide dans mon cas, j'utilise beaucoup de donner et la boucle for n'est pas instantané(j'utilise plusieurs de workbooks et sheets qui s'ouvre et qui se ferme)

Bref, je voulais savoir si tu pouvais me détailler ton code (je ne suis pas un spécialiste du VBA)
je connais pas trop la syntaxe que tu as utilisé.

Je te remercie d'avance
 

Staple1600

XLDnaute Barbatruc
Re : [résolu]problème avec Vlookup --> valeur #REF!

Re

La syntaxe est simple.
C'est simplement la formule =RECHERCHEV() mais inscrite en VBA avec FormulaR1C1
(voir dans l'aide VBE pour les détails)
Néanmoins revoici la macro précédente améliorée et avec commentaires
Code:
Private Sub CommandButton1_Click()
Dim DerLig As Long
'identifie la ligne de la dernière cellule non-vide de la colonne A
DerLig = Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row
With Range("B2:B" & DerLig)
    '.FormulaR1C1 = "=VLOOKUP(RC[-1],Feuil1!R2C1:R" & DerLig & "C2,2,0)"
    'Formule modifiée pour éviter les #N/A
    .FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[-1],Feuil1!R2C1:R" _
    & DerLig & "C2,2,0)),"""",VLOOKUP(RC[-1],Feuil1!R2C1:R" _
    & DerLig & "C2,2,0))"
    ' transforme les formules en valeurs
    .Value = .Value
End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 114
Membres
103 121
dernier inscrit
SophieS