Erreur 1004 et VLookup
D
Bonjour, à tous,
Puis-je demander votre aide pour résoudre ma difficulté liée à des erreurs 1004 renvoyée lors de l'exécution de ma fonction, ce qui est logique car dans des situation l'instruction ne trouve pas de correspondance dans la table.
Ma question comment contourner ou ignorer l'erreur
Ci-joint mon code :
Function ArbreGenealogique()
ThisWorkbook.Sheets("AnimauxElevage").Activate
If WorksheetFunction.CountIf(Sheets("AnimauxElevage").Range("B:B"), Me.TxtG0.value) = 0 Then
MsgBox "Code inexistant ", vbInformation + vbOKOnly, "Tatouage introuvable"
End If
With Me
.TxtG1F = Application.WorksheetFunction.VLookup((Me.TxtG0), Sheets("AnimauxElevage").Range("B:N"), 6, 0)
' Comment passer à l'instruction suivante si TxtG1F renvoie une erreur 1004 ?
.TxtG2FF = Application.WorksheetFunction.VLookup((Me.TxtG1F), Sheets("AnimauxElevage").Range("B:N"), 6, 0) 'GM RF
' Comment passer à l'instruction suivante si TxtG2FF renvoie une erreur 1004 ? (pas de valeur trouvée dans la base) et ainsi de suite pour chacune des suivantes!
.TxtG3FFF = Application.WorksheetFunction.VLookup((Me.TxtG2FF), Sheets("AnimauxElevage").Range("B:N"), 6, 0) 'AGM RM
.TxtG3FFM = Application.WorksheetFunction.VLookup((Me.TxtG2FF), Sheets("AnimauxElevage").Range("B:N"), 6, 0) 'AGM RM
.TxtG2FM = Application.WorksheetFunction.VLookup((Me.TxtG1F), Sheets("AnimauxElevage").Range("B:N"), 10, 0) ' GP RF
.TxtG3FMF = Application.WorksheetFunction.VLookup((Me.TxtG2FM), Sheets("AnimauxElevage").Range("B:N"), 6, 0) 'AGM RM
' .TxtG3FMM = Application.WorksheetFunction.VLookup((Me.TxtG2FM), Sheets("AnimauxElevage").Range("B:N"), 6, 0) 'AGM RM
'=========================================
.TxtG1M = Application.WorksheetFunction.VLookup((Me.TxtG0), Sheets("AnimauxElevage").Range("B:N"), 10, 0)
.TxtG2MF = Application.WorksheetFunction.VLookup((Me.TxtG1M), Sheets("AnimauxElevage").Range("B:N"), 6, 0) 'GM RM
.TxtG3MFF = Application.WorksheetFunction.VLookup((Me.TxtG2MF), Sheets("AnimauxElevage").Range("B:N"), 6, 0) 'AGM RM
.TxtG3MFM = Application.WorksheetFunction.VLookup((Me.TxtG2MF), Sheets("AnimauxElevage").Range("B:N"), 10, 0) 'AGM RM
.TxtG2MM = Application.WorksheetFunction.VLookup((Me.TxtG1M), Sheets("AnimauxElevage").Range("B:N"), 10, 0) ' GP RM
.TxtG3MMF = Application.WorksheetFunction.VLookup((Me.TxtG2MM), Sheets("AnimauxElevage").Range("B:N"), 6, 0) 'AGM RM
.TxtG3MMM = Application.WorksheetFunction.VLookup((Me.TxtG2MM), Sheets("AnimauxElevage").Range("B:N"), 10, 0) 'AGM RM
End With
End Function
Merci à vous !!!
Bonsoir Daniel Roueyre, le forum,
Ma question comment contourner ou ignorer l'erreur
Difficile de t'aider sans fichier, mais as-tu essayé d'intégrer un SIERREUR à tes formules ?
.TxtG1F = IIf(IsError(Application.VLookup((Me.TxtG0), _
Sheets("AnimauxElevage").Range("B:N"), 6, 0)), "", _
Application.VLookup((Me.TxtG0), Sheets("AnimauxElevage").Range("B:N"), 6, 0))
A reproduire sur les autres RechercheV....
Cordialement,
D