Erreur d'exécution '1004'

Résolu
Bonjour,

je veux supprimer les donnes de plusieurs page , voici ce que j'ai fais :
Sub supClic()



If MsgBox("Confirmez-vous la suppression totale du Brouillard ?", vbYesNo, "Demande de confirmation de suppression") = vbYes Then




'supprimer tous les donnes de la feuille brouiard
Sheets("Brouillard_Caisse").Select

DernLigne_brouillard = Worksheets("Brouillard_Caisse").Range("B" & Rows.Count).End(xlUp).Row 'deteriner fin de ligne
debut_brouillard = 10
Rows(debut_brouillard & ":" & DernLigne_brouillard).Select
Selection.Delete Shift:=xlUp


'supprimer tous les donnes de la feuille pc compta
Sheets("PC_COMPTA").Select

DernLigne_COMPTA = Worksheets("PC_COMPTA").Range("A" & Rows.Count).End(xlUp).Row 'deteriner fin de ligne
debut_COMPTA = 2
Rows(debut_COMPTA & ":" & DernLigne_COMPTA).Select
Selection.Delete Shift:=xlUp

end if 
end sub 


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.


voici le message qui excel me donne : Erreur d'exécution '1004' la méthode delete de la classe a échoué ??????????

3 réponses

  1. Modérateur
    Bonjour,

    Déjà.. tu n'es pas (il faut même éviter) obligé de faire un select ...puis un suppr...
    ceci :
    Rows(debut_brouillard & ":" & DernLigne_brouillard).Select
    Selection.Delete Shift:=xlUp
    

    doit pouvoir s'écrire :
    Rows(debut_brouillard & ":" & DernLigne_brouillard).Delete Shift:=xlUp
    


    Ensuite... as tu essayé ton code en mode pas à pas histoire de voir si les variables debut_brouillard,DernLigne_brouillard ou celles de l'autre delete sont bonnes ?
    Et puis.. sur laquelle des deux lignes exactement te met-il l'erreur ?

    et vu que tu as debut_brouillard = 10
    es tu sûr que DernLigne_brouillard est supérieur à 10 ?

    1. Bonjour jordane45,

      Pour la dernière ligne c'est vérifier elle est toujours plus de 10 , j' ai essaye l'execution pas à pas le problème est dans cette ligne :

      Rows(debut_brouillard & ":" & DernLigne_brouillard).Delete Shift:=xlUp
    2. Toujours pas de solution
    3. Modérateur
      @aminescJe n'ai pas eu le temps de reagarder.
      Déjà.. tu peux essayer de mettre un point d'arrêt sur ton code ( à la ligne indiquée par l'erreur) et de regarder, lorsque l'erreur se produit quelles sont les valeurs de tes différentes variables.
      Ensuite, vérifie que tu n'as pas de lignes ou de colonnes fusionnées. Le souci peut venir de là.
  2. Modérateur
    Bonjour,

    Et si, et si, et si...

    Fouillons tous dans notre boule de cristal...

    Mmmmhhh...
    Et si...

    Supposition 1 :
    Et si tu déprotégeais ta feuille "Brouillard_Caisse"?
    Sheets("Brouillard_Caisse").Select
    ActiveSheet.Unprotect ' "motdepasse" éventuel


    1. Bonjour pijaku,

      et oui , et oui

      ta raison mon pote les pages étais verrouiller .

      merci a toi et a tous
  3. Contributeur
    Bonjour,
    essaies plutôt ceci


    With Sheets("Brouillard_Caisse")
    dernligne = .Range("B" & Rows.Count).End(xlUp).Row 'deteriner fin de ligne
    debut = 10
    .Range("B" & debut & ":B" & dernligne).SpecialCells(xlCellTypeConstants, 23).EntireRow.Delete
    End With
    '...etc

    1. Bonjour michel_m,
      Toujours sa marche pas voici le message qui apparais
      :impossible d'utiliser cette commande sur des sélections qui se superposent.
    2. Modérateur
      @aminescJe répète au cas où :

      Déjà.. tu peux essayer de mettre un point d'arrêt sur ton code ( à la ligne indiquée par l'erreur) et de regarder, lorsque l'erreur se produit quelles sont les valeurs de tes différentes variables.
    3. @jordane45Bonjour,
      l'erreur indique est dans la ligne :
      Rows(debut_brouillard & ":" & DernLigne_brouillard).Delete Shift:=xlUp


      je vois pas comment faire un arrêt , pour les valeurs debut_brouillard=10
      DernLigne_brouillard=12.