Erreur d'exécussion

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?

vba

Bonjour,

Essaye avec

    '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, 1), .Cells(.Rows.Count, 1).End(xlUp))
    End With

Cordialement.

Rechercher des sujets similaires à "erreur execussion"