Boucle de création de feuille Excel
maksym92
-
LatelyGeek Messages postés 1758 Date d'inscription Statut Membre Dernière intervention -
LatelyGeek Messages postés 1758 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis novice en VBA, je développe actuellement un comparateur de scénarios environementaux pour les carburants avec Excel.
L'utilisateur entre dans une case un nombre d'année, le but de ma macro est de créer une feuille par année (le nombre d'année étant donc une variable). Par exemple si l'utilisateur entre "3 ans" je voudrais pouvoir créer automatiquement une feuille "Année 1" une feuille "Année 2" et une feuille "Année 3".
Mon problème survient dans la boucle que je fait pour renommer les feuilles.
Pouvez vous m'aider??
Merci d'avance.
Maxime
Je suis novice en VBA, je développe actuellement un comparateur de scénarios environementaux pour les carburants avec Excel.
L'utilisateur entre dans une case un nombre d'année, le but de ma macro est de créer une feuille par année (le nombre d'année étant donc une variable). Par exemple si l'utilisateur entre "3 ans" je voudrais pouvoir créer automatiquement une feuille "Année 1" une feuille "Année 2" et une feuille "Année 3".
Mon problème survient dans la boucle que je fait pour renommer les feuilles.
Pouvez vous m'aider??
Merci d'avance.
Maxime
A voir également:
- Boucle de création de feuille Excel
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Creation de compte google - Guide
- Creation de site web - Guide
- Bruler feuille de laurier - Guide
3 réponses
Essaye ça: (En supposant que le nombre de feuilles soit stocké en A1 de la Feuil1)
Sub AjoutFeuilles
'
' Macro enregistrée le 14/05/2008 par LatelyGeek
Dim compteur As Integer
compteur = 1
For compteur = 1 To Range("Feuil1!A1").Value
Sheets.Add
ActiveSheet.Name = "Année" & compteur
Next
End Sub
Sub AjoutFeuilles
'
' Macro enregistrée le 14/05/2008 par LatelyGeek
Dim compteur As Integer
compteur = 1
For compteur = 1 To Range("Feuil1!A1").Value
Sheets.Add
ActiveSheet.Name = "Année" & compteur
Next
End Sub
Salut Maksym,
ci-dessous le code de LatelyGeek complété de quelques lignes qui , avant de renommer une feuille, vérifient que la feuille n'existe pas déjà. Si oui, elle est SUPPRIMEE SANS MESSAGE DE CONFIRMATION.
Sub AjoutFeuilles()
Dim compteur As Integer
compteur = 1
For compteur = 1 To Range("A1").Value
Sheets.Add
For Each Worksheet In Worksheets
If Worksheet.Name = "Année" & compteur Then
Application.DisplayAlerts = False
Worksheet.Delete
Application.DisplayAlerts = True
End If
Next Worksheet
ActiveSheet.Name = "Année" & compteur
Next
End Sub
ci-dessous le code de LatelyGeek complété de quelques lignes qui , avant de renommer une feuille, vérifient que la feuille n'existe pas déjà. Si oui, elle est SUPPRIMEE SANS MESSAGE DE CONFIRMATION.
Sub AjoutFeuilles()
Dim compteur As Integer
compteur = 1
For compteur = 1 To Range("A1").Value
Sheets.Add
For Each Worksheet In Worksheets
If Worksheet.Name = "Année" & compteur Then
Application.DisplayAlerts = False
Worksheet.Delete
Application.DisplayAlerts = True
End If
Next Worksheet
ActiveSheet.Name = "Année" & compteur
Next
End Sub
Merci pour tes conseils.
J'ai encore un ptit soucis. Je souhaite créer un bouton qui me permette de passer à chaque fois sur la feuille "Année" suivante (je rappelle que le nombre de feuille "Année" est variable). Donc sur chaque feuille créée il doit y avoir un bouton "page suivante" et un bouton "page précédente". Si le nombre de feuille est fixe c'est facile il suffit de faire des liens hypertextes, mais là je vois pas trop comment faire vu que tout dépend du nombre d'année.
J'espère que tu peux m'aider.
Merci d'avance.
Maxime
J'ai encore un ptit soucis. Je souhaite créer un bouton qui me permette de passer à chaque fois sur la feuille "Année" suivante (je rappelle que le nombre de feuille "Année" est variable). Donc sur chaque feuille créée il doit y avoir un bouton "page suivante" et un bouton "page précédente". Si le nombre de feuille est fixe c'est facile il suffit de faire des liens hypertextes, mais là je vois pas trop comment faire vu que tout dépend du nombre d'année.
J'espère que tu peux m'aider.
Merci d'avance.
Maxime
J'arrive bien à créer une feuille par année, le problème est lorsque je veux renouveller l'opération, Excel ne peut pas renommer une feuille comme une autre feuille déjà référencée par VB.
J'ai donc essayé de créer un petit module qui détecte les feuilles déjà créées et les supprime avant d'en créer des nouvelles à la place. Ca ne marche pas très bien.
Aurais-tu une idée pour ce genre de pb?
Merci.
Maxime