Erreur exécution interrompue sur un for...if...next

Bonjour à tous,

je suis en train de créer une macro (ma première !) au sein de laquelle à un moment, je supprime des lignes inutiles avec une commande de type for ... if ... next voir code plus bas.

Lorsque je l'exécute en pas à pas (touche F8) aucun soucis mais dès que je la lance complète (touche F5) j'ai plusieurs interruption sur le "next our". la valeur de our au moment de l'interruption n'est jamais la même et du coup je ne comprends absolument pas pourquoi ça plante.

Une idée ?

    'suppression des lignes contenant jour
    Dim our As Integer
    With ThisWorkbook.Sheets("Charge")
    For our = Range("B1000").End(xlUp).Row To 5 Step -1
    If Range("B" & our).Value Like "*our*" Then Rows(our).Delete
    Next our
    End With

J'ai aussi des interruptions bizarrement sur d'autres lignes de temps à autre

PS : dans ma pièce jointe la macro est la module 3 MEFcharge_2

Bonjour gmarche,

je n'ai pas de problème d’exécution en utilisant le code ci dessous :

Sub test()
Dim our As Integer
    With ThisWorkbook.Sheets("source2")
        For our = .Range("B1000").End(xlUp).Row To 5 Step -1
            If .Range("B" & our).Value Like "*our*" Then .Rows(our).Delete
       Next our
    End With
End Sub

N'oublie pas les "." après un bloc "With"

J'ai aussi une interruption bizarement sur la ligne "reste à monter"... mais pas tout le temps

PS : dans ma pièce jointe la macro est la module 3 MEFcharge_2

'--> Création de la colonne reste à monter
    Sheets("MonTbdChaE").Range("4:4").Copy
    Sheets("Charge").Range("E5").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Sheets("Charge").Range("E5") = "Reste à monter"

Tu peux abréger le code précédent par le code ci dessous:

 Sheets("MonTbdChaE").Range("4:4").Copy Destination:=Sheets("Charge").Range("E5")
  Sheets("Charge").Range("E5") = "Reste à monter"

Edit:

J'avais pas fais attention au "Transpose"

Sheets("MonTbdChaE").Rows(4).Copy Destination:=Sheets("Charge").Range("E5")

Sheets("Charge").Range("E5").PasteSpecial , Transpose:=True

Sheets("Charge").Range("E5") = "Reste à monter"

Merci pour ta réponse et l'abrégé (j'ai modifié mon post car ça plante n'importe où finalement). Par contre, attention je fais un collé transposé (horizontal vers vertical).

En ce qui concerne les points devant range et rows, je l'ai bien ajouté mais ça ne change rien, j'ai toujours des interruptions inopinées.

Du coup je sèche...

Peux tu mettre ton fichier en pièce jointe.

Arf, il me semblait l'avoir joint pourtant.

J'ai par ailleurs abrégé mes copié collé avec ton code, mais j'ai un message qui me dit que les zones ne sont pas les même et qu'il ne peut effectué le collage.

J'ai enlevé le destination dans ton code, ça va mieux du coup

    '--> Création de la colonne Date de chargement
    Sheets("MonTbdChaE").Rows(1).Copy
    Sheets("Charge").Range("B5").PasteSpecial , Transpose:=True
    Sheets("Charge").Range("B5") = "Date de chargement"

J'ai enlevé le destination dans ton code, ça va mieux du coup

    '--> Création de la colonne Date de chargement
    Sheets("MonTbdChaE").Rows(1).Copy
    Sheets("Charge").Range("B5").PasteSpecial , Transpose:=True
    Sheets("Charge").Range("B5") = "Date de chargement"

En optimisant un peu :

    Sheets("MonTbdChaE").Range("A1:A" & Sheets("MonTbdChaE").Range("IV1").End(xlToLeft).Column).Copy
    Sheets("Charge").Range("B5").PasteSpecial , Transpose:=True
    Sheets("Charge").Range("B5") = "Date de chargement"

oui c'est pas mal aussi en effet.

Mais alors pourquoi ça plante chez moi ??? mystère

oui c'est pas mal aussi en effet.

Mais alors pourquoi ça plante chez moi ??? mystère

Je pense que comme les zones de "copier" ( rows) et "coller" ( Range) ne sont pas de tailles identique sa fait planter le code.

non je ne parlais pas des copié collé, ça ça fonctionne, j'ai bien enlevé le destination qui faisait merdé, je parle des interruptions que j'ai sur mon "next our".

Bon comme quoi l'informatique c'est bizarre....

Après test sur un autre pc, ça a fonctionné nickel, j'ai donc re démarré mon pc et là ça fonctionne !!!

surement un problème de proc...

Je passe en résolu.

Merci Florian pour ces échanges !

Bonjour,

essaie en ajoutant cette instruction au début de ta macro

Application.EnableCancelKey = xldisabled

si cela corrige ton problème, cela pourrait être un problème avec ton clavier, essaie de le nettoyer.

Rechercher des sujets similaires à "erreur execution interrompue next"