Erreur 91 Fonction FIND
Bonjour,
Je souhaite, dans un tableau A, cliquer sur un bouton pour qu'une macro ouvre en arrière plan (GetObject) un autre tableau B. La colonne du tableau A sera comparé a celle du tableau B. En cas d’occurrence, des données d'une autre colonne du tableau B seront copiés dans une autre colonne du tableau A.
Pour cela j'utilise la fonction FIND. J'ai un bout de code qui fonctionne, seulement si le nombre du tableau A n'existe pas dans el tableau B, j'ai un bug "erreur 91".
Ma question, comment faire pour que ma boucle passe a la cellule suivante si il n'y a pas d'occurence ?
Ce code fonctionne, et commence a planter des qu'il n'y a pas de correspondance.
Sub Rech_find()
Dim Recherche As Range
For i = 2 To 28
Set Recherche = Workbooks("Classeur12").Worksheets(1).Columns(1).Find(what:=Range("a" & i), lookat:=xlPart)
Range("C" & i) = Recherche.Offset(0, 13).Value
Next i
End SubMon code que je souhaite vraiment utilisé :
Sub Rech_find()
Dim Recherche As Range
Dim ChmBase As String
Dim Wkb_Base As Workbook
Dim i As Integer, D_Ligne As Integer
'initialisation
ChmBase = "C:\Users\Desktop\Classeur1.xlsx"
Set Wkb_Base = GetObject(ChmBase)
D_Ligne = Range("A1").CurrentRegion.Rows.Count
'boucle
For i = 2 To D_Ligne
'recherche
Set Recherche = Workbooks("Classeur1").Worksheets(1).Columns(1).Find(what:=Range("A" & i), lookat:=xlPart)
Range("C" & i) = Recherche.Offset(0, 13).Value
Next i
End Subje pense que je dois mettre un IF ELSE, par exemple : "si il n'y a pas de correspondance, continuer avec la prochaine cellule" mais je ne sais pas comment tradurie ca en VBA.
J'ai trouvé la solution.
On Error Resume Next juste au dessus de la ligne qui bug.
Je laisse si ca peut aider quelqu'un
Bonjour Juju45,
Comme vous utilisez une variable objet, le mieux est de tester son contenu
Set Recherche = Workbooks("Classeur1").Worksheets(1).Columns(1).Find(what:=Range("A" & i), lookat:=xlPart)
If Not Recherche Is Nothing Then
Range("C" & i) = Recherche.Offset(0, 13).Value
End IfA+