Bonjour la communauté,
J'ai un fichier excel sur lequel j'ai plusieurs feuilles, chacunes ayant un nom distinct. Ce nom peut varier en fonction des requêtes access que je fais avant, donc je ne peux pas me baser sur les noms de ces feuilles.
Je cherche l'équivalent d'un for each sheet marchant sous excel pour faire une manipulation identique à chacune des feuilles présentes dans mon fichier.
Voici le code utilisé pour une des feuilles:
Sheets("Requête_suspendu").Select
Range("A1:K1").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("C12-CD").Select
Call rajouter_ligne ;rajoute une ligne tout en haut de la feuille
ActiveSheet.Paste
Call m_a_p ;toute une série de mises en forme et mises en page
Range("A1:K1").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("C34-CD").Select
Call rajouter_ligne
ActiveSheet.Paste
Call m_a_p
Et ainsi de suite pour chacune de mes feuilles
Le problème, c'est que Sheets("C12-CD").Select et Sheets("C34-CD").Select sont des feuilles que j'utilise actuellement, mais il n'est pas certain que ce sera le cas aussi demain, je ne peux donc pas les appeler comme ca.
Je cherche un moyen non nominatif de faire la même manipulation sur chaque feuille de mon fichier, une sorte de for each (sheets), celà existe-t-il?
J'espère avoir été assez clair, je peux préciser si besoin.
Bien à vous.
Kraenys
J'ai un fichier excel sur lequel j'ai plusieurs feuilles, chacunes ayant un nom distinct. Ce nom peut varier en fonction des requêtes access que je fais avant, donc je ne peux pas me baser sur les noms de ces feuilles.
Je cherche l'équivalent d'un for each sheet marchant sous excel pour faire une manipulation identique à chacune des feuilles présentes dans mon fichier.
Voici le code utilisé pour une des feuilles:
Sheets("Requête_suspendu").Select
Range("A1:K1").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("C12-CD").Select
Call rajouter_ligne ;rajoute une ligne tout en haut de la feuille
ActiveSheet.Paste
Call m_a_p ;toute une série de mises en forme et mises en page
Range("A1:K1").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("C34-CD").Select
Call rajouter_ligne
ActiveSheet.Paste
Call m_a_p
Et ainsi de suite pour chacune de mes feuilles
Le problème, c'est que Sheets("C12-CD").Select et Sheets("C34-CD").Select sont des feuilles que j'utilise actuellement, mais il n'est pas certain que ce sera le cas aussi demain, je ne peux donc pas les appeler comme ca.
Je cherche un moyen non nominatif de faire la même manipulation sur chaque feuille de mon fichier, une sorte de for each (sheets), celà existe-t-il?
J'espère avoir été assez clair, je peux préciser si besoin.
Bien à vous.
Kraenys
Dernière édition: