Problème execution macro sur plusieurs classeurs

  • Initiateur de la discussion Initiateur de la discussion Alta
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Alta

XLDnaute Nouveau
Bonjour, je rencontre un petit probleme avec mon ensemble de macro qui vise à transformer à decouper et coller un tableau sur plusieurs feuilles.

Ma macro fonctionne bien quand je la lance sur un seul classeur mais j'ai essayé de faire une autre macro qui me permettrait de la lancer sur tous les classeurs ouverts les uns apres les autres et la ca ne marche plus du tout 🙄

voila mon code pour l'executer sur tous les classeurs:

sub compil_macro_ts_class()
For i=1 to workbooks.count
workbook(i).activate

macro1
macro2
macro3

Next i
end sub

Le message d'erreur apparait pour ma macro1 ou je crée des feuilles avec des noms précis.
Auriez vous une idée d'ou peut venir le probleme?
je nomme mes feuilles de la manière suivante:

with sheets.add
.name="Temon"
end with
 
Re : Problème execution macro sur plusieurs classeurs

Bonjour,

Ayant appris par moi même le vba, je fais certainement des fautes de syntaxe ou mes codes ne sont pas propres ce qui ne doit pas poser de problème à l'échelle d'un classeur mais en poser plus a l'échelle de plusieurs classeurs.

En gros ce que je fais le plus souvent quand je crée mes macros c'est:
pour par exemple transformer un tableau en enlevant les lignes vides et les lignes doublons

sub Del_lign_vide ()
...
end sub

sub Del_lign_doub()
...
end sub

Sub Compil_del()
Del_lign_vide
Del_lign_doub
end sub

et j'execute ce programme quand je suis sur le tableau que je veux traiter
Cette démarche est elle correcte déja parce que si ca se trouve mon probleme est a la base de la conception du code
 
Re : Problème execution macro sur plusieurs classeurs

Salut à tous et aux autres,

Attention aux "s" !
Code:
Sub compil_macro_ts_class()
For i = 1 To Workbooks.Count
  Workbook[COLOR=Red][B]s[/B][/COLOR](i).Activate
    Sheets("Feuil1").Select
    Sheets.Add
    ActiveSheet.Name = "Temon"
Next
End Sub

En rejoignant PierreJean (bonjour), le nouveau nom choisi ne doit pas figurer dans les feuilles des classeurs ouverts !

Quant à ta démarche, elle est intéressante quand on a des difficultés à finaliser une partie de la procédure mais attention en cas de variables à transporter.
 
Re : Problème execution macro sur plusieurs classeurs

le nouveau nom choisi ne doit pas figurer dans les feuilles des classeurs ouverts !

Si j'ai bien compris mon problème viendrait du fait que je ne peux pas creer de feuilles et les nommer de la meme manière sur tous mes classeurs?

en gros est il possible dans ce cas précis de faire ce qui suit :

J'ai 3 classeurs ouverts
Je lance la macro qui va donc activer le premier classeur, puis creer dans celui ci une feuille appelée "Temon"
ensuite le classeur suivant est activé, et l'on crée une feuille appelée "Temon"
idem pour le dernier classeur
 
Re : Problème execution macro sur plusieurs classeurs

Salut à tous et aux autres,

Désolé si je me suis mal exprimé.
Le nom choisi ne devait pas être déjà utilisé comme nom d'un onglet des classeurs ouverts !
Recopie le code précédent dans un module d'une feuille d'un classeur et lance la macro.
Dans tes 3 classeurs tu auras une nouvelle feuille nommée "Temon" sauf si
dans l'un d'eux existe déjà un feuille est déjà nommée "Temon". A ce moment tu auras l'alerte. Sache que l'on peut gérer ce type d'erreur.
 
Dernière édition:
Re : Problème execution macro sur plusieurs classeurs

Ca y est je comprends mieux le principe 😉

je vais essayer de modifier un peu mon code pour que la création de mes feuilles se fassent en amont du programme et non pas dans une sous macro. Je vous tiens au courant de mon avancé mais ca risque de prendre un peu de temps vu le nombre de macro a modifier.

En tout cas merci a vous deux
 
Re : Problème execution macro sur plusieurs classeurs

Je viens de comprendre ou etait le probleme.

En fait je m'en suis rendu compte en deboguant le programme après les avoir tous modifié de maniere a inserer mes feuilles en debut de programme.

En fait j'avais ouvert 3 classeurs et quand je regardais la valeur de workbooks.count j'avais 5...

En fait je viens d'apprendre que les objets ou je met mes macro personnelles sont aussi des classeurs meme si on ne les voit pas et ils etaient comptés dans mon workbooks.count
Mes macro visant a transformer des tableaux tous similaires il etait donc normal que ca plante pour mes 2 classeurs de macros personnelles

existerait il une ligne de code permettant de ne compter que les classeur non cachés?
ou une maniere d'executer la macro mais que sur les classeur non cachés?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
703
Retour