l'image définit la fonction du code:
Sub macro7()
Dim Plage As Range
Dim Cel As Range
Dim Adr As String
Dim I As Integer
'défini la plage sur la colonne A de la feuille "Feuil1" à partir de A2
With Worksheets("Paramètres vs produits"): Set Plage = .Range(.Cells(2, 2), .Cells(.Rows.Count, 1).End(xlUp)): End With
'effectue la recherche en partant depuis le bas de la plage
'(ce qui permet d'effectuer la recherche à partir de A2 puisque l'argument est "Après (After)")
Set Cel = Plage.Find("Paramètre", Plage(Plage.Count, 1), xlValues, xlPart)
'commence à la ligne 2
I = 2
'si trouvé, inscrit les paramètres en colonne E à partir de E11
If Not Cel Is Nothing Then
Adr = Cel.Address
Do
Sheets("Feuil6").Cells(I, 2).Value = Cel.Value: I = I + 1
Set Cel = Plage.FindNext(Cel)
Loop While Cel.Address <> Adr
End If
End Sub
le code est exécutable sur un classeur et non plus sur d'autres.
dans un msg box VBA indique un message d'erreur sur cette ligne:
Set Cel = Plage.Find("paramètre", Plage(Plage.Count, 1), xlValues, xlPart)
erreur d'exécution 13
incompatibilité de type
pourriez vous m'aider à résoudre le problème SVP?