VBA Erreur 1004 problème arg1 variable dans fonction vlookup/recherchev

sangoben

XLDnaute Nouveau
Bonjour,

Pourquoi Excel me renvoit-il une erreur quand je veux placer une référence variable dans l'arg1 de la fonction recherchev/vlookup, à savoir 'cells(ligne,3).value' ? Par contre quand je mets le contenu d'une cellule avec un argument fixe, je n'ai plus le message d'erreur 1004.

Voici mon code.

Sub Essai5()
Dim ligne
For ligne = 11 To 100
If Cells(ligne, 1) <> 0 Then
For i = 1 To 100
If Cells(ligne + i, 2) <> 0 Then
With Sheets("35 G Bordereau")
Cells(ligne+i, 3).Value = WorksheetFunction.VLookup(Cells(ligne, 3).Value, Sheets("35 G Quantitatif").Range("A1:F100"), 5, False)
End With
End If
Next
End If
Next
End Sub

Merci d'avance de vos solutions.

sangoben
 

JNP

XLDnaute Barbatruc
Re : VBA Erreur 1004 problème arg1 variable dans fonction vlookup/recherchev

Bonsoir Sangoben :),
Sub Essai5()
Dim ligne
For ligne = 11 To 100
If Cells(ligne, 1) <> 0 Then
For i = 1 To 100
If Cells(ligne + i, 2) <> 0 Then
With Sheets("35 G Bordereau")
Cells(ligne+i, 3).Value = WorksheetFunction.VLookup(.Cells(ligne, 3).Value, Sheets("35 G Quantitatif").Range("A1:F100"), 5, False)
End With
End If
Next
End If
Next
End Sub
à mon avis, tu t'emmèles les pinceaux dans tes feuilles. Le With ne sert à rien si tu n'utilises pas de . (point) pour y faire référence. Je ne sais pas lesquels ont besoin d'un point...
Bonne soirée :cool:
 

sangoben

XLDnaute Nouveau
Re : VBA Erreur 1004 problème arg1 variable dans fonction vlookup/recherchev

Bonsoir Sangoben :),à mon avis, tu t'emmèles les pinceaux dans tes feuilles. Le With ne sert à rien si tu n'utilises pas de . (point) pour y faire référence. Je ne sais pas lesquels ont besoin d'un point...
Bonne soirée :cool:

Oui je pense aussi. D'autant plus qu'en réécrivant le code proprement cela fonctionne donc bon... J'ai pas très bien compris !

Que signifie exactement le point devant Cells ?

sangoben
 

JNP

XLDnaute Barbatruc
Re : VBA Erreur 1004 problème arg1 variable dans fonction vlookup/recherchev

Re :),
Que signifie exactement le point devant Cells ?
Comme indiqué, le . se réfère au With.
Code:
Sheets("Feuil1").Range("A1") = 2
est équivalent à
Code:
With Sheets("Feuil1")
.Range("A1") = 2
End With
sachant que l'intérêt est de ne pas répéter ce qui est en With pour plusieurs critères, soit
Code:
Sheets("Feuil1").Range("A1").Value = 2
Sheets("Feuil1").Range("A1").Font = "Helvetica"
Sheets("Feuil1").Range("A1").Interior.ColorIndex = 2
est remplacé par
Code:
With Sheets("Feuil1").Range("A1")
.Value = 2
.Font = "Helvetica"
.Interior.ColorIndex = 2
End With
Bonne journée :cool:
 

sangoben

XLDnaute Nouveau
Re : VBA Erreur 1004 problème arg1 variable dans fonction vlookup/recherchev

Re :),Comme indiqué, le . se réfère au With.
Code:
Sheets("Feuil1").Range("A1") = 2
est équivalent à
Code:
With Sheets("Feuil1")
.Range("A1") = 2
End With
sachant que l'intérêt est de ne pas répéter ce qui est en With pour plusieurs critères, soit
Code:
Sheets("Feuil1").Range("A1").Value = 2
Sheets("Feuil1").Range("A1").Font = "Helvetica"
Sheets("Feuil1").Range("A1").Interior.ColorIndex = 2
est remplacé par
Code:
With Sheets("Feuil1").Range("A1")
.Value = 2
.Font = "Helvetica"
.Interior.ColorIndex = 2
End With
Bonne journée :cool:

Dac ! Nickel, on ne peut pas faire plus clair.

Merci

Bonne journée également

sangoben
 

Discussions similaires

Réponses
0
Affichages
148
Réponses
1
Affichages
164

Statistiques des forums

Discussions
312 195
Messages
2 086 076
Membres
103 111
dernier inscrit
Eric68350