Macro: copier, renommer et stocker

Mel -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

Je veux réaliser une macro Excel en VBA.
Voici le but de cette macro:
je voudrais que dans une seule macro :
- copier une feuille appelée "n" en une autre feuille renommée "n+1" et ensuite stocker cette feuille ("n+1")
- lorsque la macro est relancée:
- copier la feuille appelé "n" en une autre feuille renommée "n+2" et ensuite stocker cette feuille ("n+2")

et idem pour les feuilles "n+3", "n+4", ....

Merci de m'envoyer des exemples de macro Excel en VBA.
Merci de vos réponses.
A voir également:

5 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Pas bien compris mais une piste..
Sub CreeFeuille()
Dim NomFeuill As String
    NomFeuill = "NomFeuilAcopier"
    For i = 1 To 2
        Sheets(NomFeuill).Copy Before:=Sheets(Sheets.Count)
        ActiveSheet.Name = NomFeuill & i
    Next i
End Sub

A+
0
Mel
 
merci de m'avoir répondu aussi vite.
Après avoir essayer cette macro, je me suis aperçue qu'il y avait un message d'erreur lorsque je relance la macro une deuxième fois afin d'obtenir une autre feuille.
Je m'explique:
je lance la macro , on me demande de rentrer le nombre de copies, et vu que je veux obtenir les feuilles une par une , je rentre 1
je crée alors la feuille "n+1"
mais quand je relance la macro, j'obtiens un message d'erreur en me disant qu'il est impossible d'appeler les feuilles pareil.
il faut donc que l'indice i s'incrémente de 1 après chaque lancement de la macro.

merci de m'envoyer une macro en vba permettant d'incrémenter de 1.
merci d'avance.
0
Mel
 
Merci de m'avoir répondu aussi vite.
Après avoir essayer cette macro, je me suis aperçue qu'il y avait un message d'erreur lorsque je relance la macro une deuxième fois afin d'obtenir une autre feuille.
Je m'explique:
je lance la macro , on me demande de rentrer le nombre de copies, et vu que je veux obtenir les feuilles une par une , je rentre 1
je crée alors la feuille "n+1"
mais quand je relance la macro, j'obtiens un message d'erreur en me disant qu'il est impossible d'appeler les feuilles pareil.
il faut donc que l'indice i s'incrémente de 1 après chaque lancement de la macro.

merci de m'envoyer une macro en vba permettant d'incrémenter de 1.
merci d'avance.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Tu copie toujour la même feuille ? ou bien la dernière
jusque combien de copie pourrais-tu avoir
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Finalement... essaye avec cette macros,
Sub CreeFeuille()
Dim NomFeuill As String
Dim N As Integer, ND As Integer, TB
    NomFeuill = "TaFeuilleAcopier" 'Adapter au nom de ta feuille
    N = InputBox("combien de copie voulez-vous ajouter", "Ajouter feuille", 1)
    For i = 1 To Sheets.Count
        TB = Split(Sheets(i).Name, NomFeuill)
        If UBound(TB) > 0 Then
            If Val(TB(1)) > ND Then ND = Val(TB(1))
        End If
    Next i
    
    For i = 1 To N
        Sheets(NomFeuill).Copy Before:=Sheets(Sheets.Count)
        ActiveSheet.Name = NomFeuill & Trim(Str(ND + i))
    Next i
End Sub

A+
0