Erreur 1004 : méthode select

Sub import()

Dim cpt As Byte
Set F1 = Worksheets("Situation_Agregee")
cpt = 1

Do While cpt <= 200

    If F1.Cells(cpt, 5) <> "" And F1.Cells(cpt, 5) <> "Code ISIN" Then

        F1.Cells(cpt, 5).Select

    End If

    cpt = cpt + 1

Loop

Selection.Copy
F1.Cells(126, 4).Select
ActiveSheet.Paste

End Sub

Bonjour, mon code bloque sur "erreur d'éxecution 1004 la méthode select de la classe range a échoué":

J'aimerai comprendre pourquoi?

Merci d'avance

Bonne soirée

Dim cpt As integer (or Long or double Byte) byte est un mauvais choix

Bonjour,

On peut plutôt penser que c'est un problème de bibliothèque :

Visualiser dans VBA Outils > Références et décocher celle qui est déclarée manquante.

Vous ne devriez jamais utiliser Select dans vos macro. C'est la première chose à faire quand vous avez "pondu" une macro. Demandez à ce qu'on vous l'optimise.

Petit à petit vous apprendrez à programmer sans Selecter inutilement.

Votre macro corrigée.

En principe vous ne devriez jamais avoir à utiliser as Byte utiliser de préférence Long ou Integer (& ou %)

Votre macro corrigée :

Sub import()
Dim cpt&, x&
Set F1 = Worksheets("Situation_Agregee")
For cpt = 1 To 200
    If F1.Cells(cpt, 5) <> "" And F1.Cells(cpt, 5) <> "Code ISIN" Then
        x = cpt
    End If
Next
F1.Cells(x, 5).Copy F1.Cells(126, 4)
End Sub

A+

Bonjour,

Chez moi ça fonctionne. Essayez de faire du pas à pas avec la fonction F8 pour voir quelle ligne bloque.

Rechercher des sujets similaires à "erreur 1004 methode select"