Erreur 1004 : Erreur définie par l'application ou par l'objet.

Résolu
Vbecker Messages postés 11 Statut Membre -  
Vbecker Messages postés 11 Statut Membre -
Bonjour à tous,

Voilà je débute sur VBA et j'ai besoin d'aide par rapport à un projet que je dois faire.

Pour expliquer mon projet je vais essayer d'être le plus clair possible.

Au départ, je possède 3 Excels séparés : Export1, Export2 et Export3. Chacun possède des données à conserver et d'autres à supprimer.

Le but étant de prendre les infos à conserver des 3 premiers tableau et des les regrouper dans un dernier tableau.

Pour se faire, j'ai pris les Export individuellement et j'ai crée les macros permettant de supprimer les données non nécessaire.
Une fois fait, j'ai regroupé le tout dans un fichier excel s'appelant Tableau Récap dans lequel, les 3 premiers tableaux y sont et un panneau de contrôle permettant d'activer les macros de suppression de lignes et de colonnes.

Et la vient mon problème.

Lorsque j'active la macro servant à supprimer des lignes d'Export2 j'ai un message d'Erreur 1004 qui intervient. Cette suppression est faite pour supprimer les lignes pour lesquelles les voyants sont verts.
Cependant, quand j'active la macro que dans le ficher Export2 elle fonctionne sans problème.

Voici le lien pour accéder à mon fichier :

https://www.cjoint.com/c/KCtieuRh7yA

En espérant qu'il marche et que j'ai été assez précis dans mes explications.

Merci d'avance.

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    Pourquoi faire une boucle pour supprimer des colonnes ?

    peut-^tre + simplement
    Columns("F:O").delete

    D'autre part, commence tes macros par cette ligne
    Application.screenupdating=False
    pour confort visuel et rapidité
    tu n'as pas besoin de remettre à True en fin de macro (contrairement à ce qu'on dit)

    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      derligne = Cells(Rows.Count, "A").End(xlUp).Row
      derligne = derligne - 2

      'ordre de suppression des 2 dernières lignes
      For ligne_a_supp = derligne To derligne2 Step -1

      erreur 1004


      d'autre part en écrivant
      derligne2= derligne - 2
      tu vas supprimé 3 lignes dans ta boucle
      0
      1. Vbecker Messages postés 11 Statut Membre > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Oui super merci de votre aide.
        0