Créer une sorte de boucle For mais pas sur des Integer

Résolu
Flo_olf Messages postés 10 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 24 août 2005 - 20 juil. 2005 à 10:54
Flo_olf Messages postés 10 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 24 août 2005 - 20 juil. 2005 à 11:39
Bonjour,

voilà mon problème. Je travail sur une base de données, réparties des données dans diverses feuilles Excel puis exécute une opération assez similaire sur chacune des feuilles.

Pour éviter d'écrire 7 fois quasi le même code je souhaiterai créer une boucle For effectuant l'opération sur une feuille puis l'autre...
Seulement voilà les feuilles ont des noms spécifiques, pas des numéro ...

Que faire ???

Merci de votre aide

2 réponses

florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
20 juil. 2005 à 11:30
Utilises une boucle "for each ... in ...":

il faut mettre excel en référence du projet.

dim UneFeuille as excel.worksheet
dim objXL as excel.application

for each UneFeuille in objXL.ActiveWorkbook.sheets

'traitement sur "UneFeuille"

next UneFeuille

Voila, je pense que ça répond, mais tu aussi peux utiliser un for classique avec un integer:

dim objXL as excel.application
dim i as integer

for i = 1 to objXL.ActiveWorkbook.sheets.count

'traitement sur "objXL.ActiveWorkbook.sheets(i)"

next UneFeuille

J'ai utilisé "Sheets", mais il faut peut etre utiliser "Worksheets", je ne sais plus...
3
Flo_olf Messages postés 10 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 24 août 2005
20 juil. 2005 à 11:39
Parfait!

J'opte pour la première solution, ca va me faire économiser des pages redondantes.

Merci beaucoup
0