Générer un nombre de sheets avec une macro

Bonjour voici le code pour générer un nombre de sheets en fonction d'une variable.

Option Explicit

Private Sub generation_sheet_vdd_Cliquer()

Dim nombre_de_sheets As Integer
Dim i As Integer

    nombre_de_sheets = Sheets("info FSM").Cells(2, 2)
    i = 1
    While i < nombre_de_vdd
        Sheets("info VDD").Copy After:=Worksheets("info VDD")
        i = i + 1
    Wend
    Sheets("Info vdd").Name = "Info vdd (1)"

End Sub

Voici le résultat que j'obtiens :

vdd

J'aimerais que les sheets info vdd soient dans l'ordre et écrites de cette façon "info vdd 1", "info vdd 2" etc.

Alors j'ai essayé de rentrer une variable dans la fonction Sheets.Name, qqch dans ce goût là :

Sheets.Name = ""info vdd" & i" 

mais ça n'a pas fonctionné qqn aurait une idée ?

Bonjour

Dans cette ligne, d'où vient l'info "nombre_De_Vdd dans vos codes

While i < nombre_de_vdd

Ce ne serait pas nombre_de_sheets à la place ?

Cordialement

Bonjour superneiluj,

A tester comme cela ?

Private Sub generation_sheet_vdd_Cliquer()

Dim nombre_de_sheets As Integer
Dim i As Integer

    nombre_de_sheets = Sheets("info FSM").Cells(2, 2)
    For i = 1 To nombre_de_sheets
        Sheets("info VDD").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = "Info vdd " & i
    Next i
End Sub

Entraines-toi à utiliser les boucles For/Next plutot que While/Wend, c'est plus simple et pas de risque de boucle infini !

A+

EDIT: Bonjour Dan

Oui @Dan c'est ça, j'avais oublié de remplacer avant de poster :D

Merci Gabin37 ça fonctionn niquel :), je vais essayer de faire des For dorénavant merci du conseil

Oui @Dan c'est ça, j'avais oublié de remplacer avant de poster :D

Ok mais si vous refaites la même opération avec le code, vous aurez un bug car le doublon n'est pas traité
exemple : mettez 2 dans la cellule B2 de votre feuille Info_FSM et relancez le code une deuxième fois

Rechercher des sujets similaires à "generer nombre sheets macro"