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

  • Initiateur de la discussion Initiateur de la discussion sangoben
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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 😎
 
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 😎

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
 
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 😎
 
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 😎

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

Merci

Bonne journée également

sangoben
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
225
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
397
Réponses
2
Affichages
473
Réponses
4
Affichages
399
Retour