Probleme fonction set & find
Bonjour à tous,
Mon but est de trouver les différents noms utilisés dans la plage B12 à B18 de la feuille 1 (ESSAI) puis de rechercher ce mot dans la feuille 3 (TEXTE) et de copier les commentaires (cellule à droite du nom) puis de les coller dans la feuille2 (BDC - LES ATELIERS REUNIS).
Le code ci - dessous fait bien cela, mais en revanche lors de la 2ème itération, l'erreur 91 [Variable objet ou variable de bloc With non définie] apparait sur la ligne "Set CellCherCher = CherCher.Offset(rowOffset:=0, columnOffset:=1)" et je ne vois pas d'où vient le problème.
Pouvez - vous m'aider ?
Je vous joins un exemple.
Merci beaucoup.
Sub TEST()
Dim i, Cell As String
Dim CherCher, CellCherCher As Object
For i = 12 To 18
Cell = "B" & i
If IsEmpty(Range(Cell)) Then
Else
Set CherCher = Sheets("TEXTE").Cells.Find(What:=Range(Cell), LookAt:=xlWhole)
'Worksheets("TEXTE").Activate
Set CellCherCher = CherCher.Offset(rowOffset:=0, columnOffset:=1)
CellCherCher.Select
Set Acopier = ActiveSheet.Range(Selection, Selection.End(xlDown))
Acopier.Copy 'Attention à la dernière phrase
Sheets("BDC - ATELIERS REUNIS").Activate
ActiveSheet.Range("C39").End(xlUp).Offset(2, 0).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End If
Next i
End Sub
Bonsoir,
L'erreur n'intervient pas à la première itération... Elle découle de la façon 'enregistreur' d'écrire le code!
Conseil : écrire en VBA !
- en déclarant toutes ses variables,
- en les typant correctement,
- en qualifiant toutes les expressions,
- en éliminant tous les Select et Activate
- en supprimant les paramètres inutiles.
On aura un code plus clair et intelligible, et cela fera disparaître l'erreur.
Cordialement.