Copier un onglet avec incrémentation du nom

Bonjour,

j'aurai besoin de votre aide pour la création d'une macro. J'ai un classeur avec 2 feuilles, l'une nommée "synthèse" et l'autre "nom 1".

Je souhaiterai à partir de la feuille synthèse avoir un bouton qui me permet de copier la feuille "nom 1", de la coller à la fin du classeur, d'incrémenter le chiffre de +1 pour avoir "nom 2") et ainsi de suite à chaque fois que je clique sur le bouton, que cela m'ajoute "nom 3", "nom 4" etc...

je vous remercie de votre aide :)

Bonjour,

Vous avez un exemple dans cette discussion : Renommer la feuille

Je te remercie mais un peu compliqué pour moi à transposer sur mon cas Y aurait-il pas plus simple?

Oui, il faut faut remplacer "BAE" par "nom" et supprimer les lignes faisant référence à J1.

Je l'ai fait mais ça bug à "if split" :/ ma macro en plus se situe dans l'onglet synthèse pas dans l'onglet que je veux copier

Si vous avez ouvert le fichier du message en lien, la procédure est placée dans un module standard.

Lorsque vous avez des messages d'erreur, mettez votre en ligne via la balise </>

désolé je nage complètement là, je ne comprend pas ce que tu veux dire j'ai recopier ton code sur mon classeur en remplaçant BAE par nom et supprimé les lignes en faisant référence à J1 mais ça ne fonctionne pas.

Pouvez-vous montrer votre code ?

14test.xlsm (20.82 Ko)

voici mon fichier, je débute dans la programmation donc je comprend pas tout désolé

Bonjour à tous,

Ton code plante car tu "split" sur la première feuille qui ne comporte aucun espace....

De plus, une seule boucle For I suffit...

Sub ajout_onglet()
 Dim Continuer As Boolean
 Dim I As Integer, Nbnom As Integer
 Dim NomFeuille As String

    Continuer = True
    NomFeuille = ActiveSheet.Name
    Nbnom = 0

    For I = 1 To Sheets.Count
       If Left(Sheets(I).Name, 3) = "nom" Then
        Nbnom = Nbnom + 1
        If Split(Sheets(I).Name, " ")(1) = Nbnom + 1 Then Continuer = False
       End If
    Next I

     If Continuer = False Then
       MsgBox "Onglet déjà existant !", vbCritical
       Exit Sub
    End If

    With Sheets(NomFeuille)
        .Copy After:=Sheets(Sheets.Count)
    End With

    With ActiveSheet
       .Name = "nom " & Nbnom + 1
    End With

End Sub
44test.xlsm (18.65 Ko)

Cordialement,

Merci à vous deux pour la solution, cela fonctionne à merveille problème résolu

Rechercher des sujets similaires à "copier onglet incrementation nom"