Autres creation automatique page suivant compteur

maxim47

XLDnaute Nouveau
bonjour
Je suis à la recherche d'une procédure (macro) afin de dupliquer une page modèle là je sais faire mais je voudrais créer un nombre de pages variable en fonction d'un compte variable qui s'affiche dans ma cellule a22. Version excel 2007
Merci
 

Pièces jointes

  • voyage.xlsm
    58.2 KB · Affichages: 3

maxim47

XLDnaute Nouveau
Salut Maxim47

Tu peux essayer ça.

A plus

VB:
Sub Creation_page_suivant_compteur()
Dim fin, début, i As Integer

fin = Sheets("cal").Cells(22, 1).Value


    For début = 1 To fin
    Sheets("Modèle").Copy After:=Sheets(3)
    Next
   
End Sub
superbe tout à fait ce que je cherchai un petit complément peut on inverser l'ordre de création des onglets et avoir la procédure pour effacer les onglets ça serait top
merci
 

HopHopHop

XLDnaute Nouveau
Voilà pour la création des feuilles dans l'ordre que tu veux.


Je vais voir pour une procédure inverse.

Tu veux les effacer toutes d'un coup c'est ça ?


VB:
Sub Creation_page_suivant_compteur()
Dim fin, début, i As Integer
Dim nom As Variant
fin = Sheets("cal").Cells(22, 1).Value
    For début = 1 To fin
    Sheets("Modèle").Select
    Sheets("Modèle").Copy after:=Sheets(Sheets.Count)
    nom = "Modèle " & fin + 1 - début
    Sheets(Sheets.Count).Name = nom
    Next
End Sub
 

HopHopHop

XLDnaute Nouveau
Voilà pour la suppression des feuilles.

Je me suis basé sur la valeur que l'on trouve en A22 pour incrémenter les noms à la création, donc j'ai fait la même chose pour la suppression.

A plus


VB:
Sub Suppression_page_suivant_compteur()

Dim fin, début, i As Integer
Dim nom As Variant
fin = Sheets("cal").Cells(22, 1).Value
début = 1
Application.DisplayAlerts = False
    While début <= fin
    nom = "Modèle " & début
    Sheets(nom).Select
    ActiveWindow.SelectedSheets.Delete
    début = début + 1
    Wend
Application.DisplayAlerts = True

End Sub
 

maxim47

XLDnaute Nouveau
merci encore effectivement c'est pour tout effacer d'un coup et ça marche nickel la création des pages impeccable sauf que malgré
"Copy after:" elles se créent effectivement de la première à la dernière mais à la fin c'est la dernière qui est en premier et la première tout à fait à droite
 

HopHopHop

XLDnaute Nouveau
OK
avec ce code ça devrait le faire comme tu veux.

Plus haut, tu parlais "d'inverser l'ordre de création des onglets" donc j'ai pensé que c'était ce que tu voulais.

Il suffisait de modifier la règle de la variable "nom" pour remettre tout dans le bon ordre.


VB:
Sub Creation_page_suivant_compteur()
Dim fin, début, i As Integer
Dim nom As Variant
fin = Sheets("cal").Cells(22, 1).Value
    For début = 1 To fin
    Sheets("Modèle").Select
    Sheets("Modèle").Copy after:=Sheets((Sheets.Count))
    nom = "Modèle " & fin + 1
    Sheets(Sheets.Count).Name = nom
    Next
End Sub
 

HopHopHop

XLDnaute Nouveau
Je n'avais pas essayer le programme modifié.

Ces deux là fonctionnent très bien ensemble.





VB:
Sub Creation_page_suivant_compteur()
Dim fin, début, i As Integer
Dim nom As Variant
fin = Sheets("cal").Cells(22, 1).Value
    For début = 1 To fin
    Sheets("Modèle").Select
    Sheets("Modèle").Copy after:=Sheets((Sheets.Count))
    nom = "Modèle " & début
    Sheets(Sheets.Count).Name = nom
    Next
End Sub



Sub Suppression_page_suivant_compteur()

Dim fin, début, i As Integer
Dim nom As Variant
fin = Sheets("cal").Cells(22, 1).Value
début = 1
Application.DisplayAlerts = False
    While début <= fin
    nom = "Modèle " & début
    Sheets(nom).Select
    ActiveWindow.SelectedSheets.Delete
    début = début + 1
    Wend
Application.DisplayAlerts = True

End Sub
 

maxim47

XLDnaute Nouveau
merci beaucoup ça fonctionne impeccable je vais pouvoir continuer à développer mon fichier en essayant de trouver au maximum par moi même et à n'appeler au secours que quand je bloque après avoir fait le tour de toute les solutions que je suis capable de mettre en œuvre encore merci HOPHOP
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 213
Membres
103 158
dernier inscrit
laufin