johann91
Messages postés46Date d'inscriptionjeudi 2 décembre 2004StatutMembreDernière intervention21 juillet 2006
-
29 juin 2006 à 16:15
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
1 juil. 2006 à 15:26
Bonjour à tous,
Je suis actuellement en train de créer un script qui manipule des
fichiers excel. Mon problème, c'est que j'aimerais bien supprimer les
feuilles par défaut du fichier excel (je crée mes propres feuilles).
Vous me direz "rien de plus facile", mais mon souci est que mon script
doit être capable de tourner sur des Excel avec des paramètres
régionaux français, mais aussi anglais et roumains, voire indiens...
Pour ma configuration française, j'ai les lignes suivantes :
xlApp.Worksheets("Feuil1").delete
xlApp.Worksheets("Feuil2").delete
xlApp.Worksheets("Feuil3").delete
Pour les paramètres anglais, ça donne :
xlApp.Worksheets("Sheet1").delete
xlApp.Worksheets("Sheet2").delete
xlApp.Worksheets("Sheet3").delete
Pour l'indien et le roumain, aucune idée...
Comme je ne serai pas avec mes collègues roumains et indiens au moment
où ils vont faire tourner le script, je ne pourrai pas leur expliquer
qu'il faut changer le nom par défaut de ces feuilles dans le script.
Donc ma question est : y a-t-il une façon "universelle" de supprimer
ces feuilles par défaut ? Ou à défaut, est-il possible de créer un
fichier excel vide, sans aucune feuille, puis de les rajouter par la suite ?
johann91
Messages postés46Date d'inscriptionjeudi 2 décembre 2004StatutMembreDernière intervention21 juillet 2006 29 juin 2006 à 16:58
Merci pour vos réponses. La sélection par indices me paraît plutôt bien. J'ai essayé, mais ça me génère une erreur...
Avant de supprimer quoi que ce soit, j'ai 2 feuilles que j'ai créées et
remplies, + ces 3 feuilles par défaut de gauche à droite dans les
onglets. J'en ai déduit (peut-être à tort) que la feuille la plus à
gauche doit avoir l'indice 1 et la plus à droite l'indice 5. J'ai donc
supprimé les feuilles d'indices 3, 4 et 5. Mais a priori, ce n'est pas
bon...
johann91
Messages postés46Date d'inscriptionjeudi 2 décembre 2004StatutMembreDernière intervention21 juillet 2006 30 juin 2006 à 09:26
Merci Jrivet, en effet, le nom des feuilles que je crée est fixe dans
tous les cas. J'accepterai ta réponse quand j'aurai testé. Je ne
maîtrise pas trop les For Each, mais la démarche me semble bonne. Après, faut voir si ça marche en VBScript après quelques légères modifs...
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 1 juil. 2006 à 15:15
Salut,
En gros le code de Julien veut dire ça :
Pour toutes les feuilles dans les feuilles d'excel (que t'as référencé)
Si le nom de la feuille est différente des nom de feuilles crées (les noms sont à placer dans une variables ou entre "") ben alors elle est supprimée.
Feuille suivante (etc jusqu'à ce qu'il n'y en ait plus)
@++
--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !