Sharox
-
Modifié par Sharox le 23/10/2013 à 08:18
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
23 oct. 2013 à 11:02
Bonjour tout le monde
J'ai un petit problème dans mon code VBA avec Excel
Je suis Novice donc si vous pouvez me parler en Français ^^
-Ce que fait normalement ce code, il copie une plage
-il crée une autre feuille, colle cette plage
-vide le presse-papier
-change la tailles des colonnes et en masques certaines
-et fini par filtrer une colonne (différent de 0)
La lecture du code ne vous ais pas simple :(
enfin sur mon écran ca met tout sur la même ligne
si vous voulez que je l'écrive d'une autre méthode dite le
d'ailleurs le message d'erreur suivant s'affiche durant la lecture du code a la ligne : Columns ("A:A").Select
Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet
C'est probablement parce qu'il était déjà trop tard (l'indentation n'était plus là) ...
Reprends ton code indenté ===>> substitue-le au code non indenté et mets-le entre balises code.
Ah ... c'est peut-être également ton navigateur qui en est responsable, car, avec le mien, je vois bien des lignes distinctes.
est correcte et fonctionne si l'objet actif est bien une feuille
Tu devrais par contre te débarrasser de cette méthode de travail (issue de l'enregistreur de macros ???) qui consiste à activer, sélectionner, copier la sélection, etc ....
VBA fonctionne en se servant directement des objets Excel !
Exemple :
Copiera directement (sans avoir besoin de l'activer) la plage A1:C8 de la feuille Feuil1 sur la feuille Feuil2, à partir de la cellule A1 de Feuil2.
Recommence sur ces bases (tu t'en porteras mieux. Ton code également)
Ce qu'il est important que tu comprennes bien, dès le début :
L'enregistreur de macros traduit, lui, en code chacun des gestes que tu fais (d'où ces select, copy, etc ...)
VBA, lui, obéit à des instructions qui n'ont nul besoin de connaître tes gestes. La différence est énorme.