Insertion de feuilles Excel

Résolu
Signaler
Messages postés
100
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
15 juillet 2009
-
Messages postés
100
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
15 juillet 2009
-
Bonjour,

je souhaite grâce à VB insérer des feuilles dans un classeur Excel. Je fais donc

Dim appExcel As New Excel.Application
Workbooks.Add                    'par défaut une seule feuille constitue mon nouveau classeur
Dim var As Integer
For var  =  2 To 10
   Worksheets.Add
Next

Ensuite je souhaite déplacer mes feuilles pour les mettres dans un ordre précis car le problème est que mes feuilles se crée avant la première feuille et elles sont donc en ordre inverse (10, 9, 8, ..., 1). Existe t-il un paramètre à mettre à Worsheets.Add pour quelles se créent après ma feuille initiale ?

Merci.
                               

13 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Le second parametre de WorkSheets.Add => After

Workbooks.Add                    'par défaut une seule feuille constitue mon nouveau classeur
Dim var As Integer
For var = 2 To 10
  Call Worksheets.Add(, ActiveSheet)
 
Next, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Note: Je ne comprens pas ton commentaire'par défaut une seule feuille constitue mon nouveau classeur
Attention par défaut un classeur possède trois feuilles
@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Salut, pourquoi tu n'utilises pas l'argument after de la méthode Add?

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
Messages postés
100
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
15 juillet 2009

Oui par défaut c'est 3 mais pour moi je l'ai réglé à 1. C'est donc par défaut pour moi  même si par défaut n'est pas le terme le plus approprié!

En tout cas ça marche merci à vous deux !
Messages postés
100
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
15 juillet 2009

Et autre petite question losque je crée un classeur avec 3 feuilles que j'en supprime deux et que j'en ajoute d'autres pourquoi je n'arrive pas à supprimer la dernière feuille initiale qui reste.

Je fais pourtant :
Sheets("Feuil1").Select
Sheets("Feuil1").Delete

Merci.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
APres la boucle d'ajout?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
100
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
15 juillet 2009

Re,

oui je rajoute plusieurs feuilles d'abord et ensuite je selectionne ma feuille initiale et je veux la supprimer avec Delete mais cela ne fonctionne pas.

Merci!
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Essaie WorkSheets(1).Delete
Si ca ne fonctionne il faut penser à préciser le message d'erreur si il y en à un

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
100
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
15 juillet 2009

Re,

Non cela ne fonctionne pas et je n'ai pas de message d'erreur. Mon programme compile, je le lance, j'ai bien toutes les feuilles que j'ai ajouté mais il reste feuille1 malgré que j'ai demandé qu'il la supprime.

Merci.
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Mets ton bout de code mais tout ouverture appli, classeur etc.

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
Messages postés
100
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
15 juillet 2009

Voila le code :

Workbooks.Add
WorkSheets(2).Delete
WorkSheets(3).Delete
Dim var As Integer
For var = 2 To 10
  Call Worksheets.Add(, ActiveSheet)
Next

WorkSheets(1).Delete

Merci.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Ca fonctionne chez moi, le seul truc c'est le Message Excel qui apparait à chaque fois alors je le supprime avec DisplayAlerts = False.

Dim var As Integer
   Application.DisplayAlerts = False
   Workbooks.ADD
   Worksheets("Feuil3").Delete
   Worksheets("Feuil2").Delete
   For var = 2 To 10
     Call Worksheets.ADD(, ActiveSheet)
   Next
   
   Worksheets("Feuil1").Delete
   Application.DisplayAlerts = True , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
100
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
15 juillet 2009

Excellent ça marche !

Merci pour ton aide jrivet!
Bonne continuation!

A +.