Comment dupliquer un nombre x d'onglet et le renommer

bonjour à tous, je suis débutant en VBA et j'aimerai un petit coup de pouce sur ce programme, si possible.

je vous joint mon fichier pour une meilleure compréhension.

l'exécution de mes macro sont sous l'onglet "MACRO" Avec 2 boutons d'exécution l'un pour dupliquer et l'autre pour trier .

je souhaiterais avec une macro dupliquer une série d'onglets à partir d'un onglet existant, le problème c'est quand je réalise la copie de l'onglet "Palette MR-001", les onglets copiés sont nommés différemment de ce que je souhaite c'est à dire "Palette MR-001" à "Palette MR-010" si j'en veux x10, et n'arrive pas dans l'ordre, c'est pour ça que je les classe après avec l'autre

puis, j'aimerais que les formules se trouvant dans l'onglet ligne2 exemple: ='Envoi Fondation Pro'!A3 dans l'onglet suivant il y soit ='Envoi Fondation Pro'!B3 et un si de suite.

merci d'avance pour vos retours.

9nc-bg.xlsm (157.91 Ko)

Bonjour,

à partir de votre code : Nota j'ai ajouté un compteur cellule C1 de l'onglet Macro pour connaitre ne numéro de la dernière feuille duppliquée créée.

16nc-bg.xlsm (137.93 Ko)
Sub inserer()

Dim i As Long
Dim z As Long
Dim Derniernumero As Long
Dim Dernièrefeuille As String
Derniernuméro = Range("c1").Value

z = InputBox("Nombre de copies ", "Copie")

For i = 1 To z
Dernièrefeuille = "Palette MR-" & Format(i - 1 + Derniernuméro, "000[-40C]")
    Sheets("Palette MR-001").Copy After:=Sheets(Dernièrefeuille)
    ActiveSheet.Name = "Palette MR-" & Format(i + Derniernuméro, "000[-40C]")

Next i

Worksheets("MACRO").Range("C1").Value = z + Derniernuméro

End Sub

bonjour,

merci beaucoup pour votre solution qui fonctionne à merveille!!!! je viens de gagner un temps précieux.

pourriez-vous m'indiquer encore une petite chose, s'il existe un moyen pour faire en sorte que ma ligne A2 mes formules se suivent exemple:

onglet "Palette MR-001" A2='Envoi Fondation Pro'!A3 puis dans l'onglet copié "Palette MR-002" A2='Envoi Fondation Pro'!A4 et ainsi de suite / "Palette MR-003" A2='Envoi Fondation Pro'!A5 / "Palette MR-003" A2='Envoi Fondation Pro'!A5 .

j'espère que je suis suffisamment clair, merci d'avance,

bonne journée.

Re bonjour,

Pour votre cellule A2 il suffit de faire un Range("A2").value pour indiquer la nouvelle valeur avant de continuer la boucle.

For i = 1 To z
Dernièrefeuille = "Palette MR-" & Format(i - 1 + Derniernuméro, "000[-40C]")
    Sheets("Palette MR-001").Copy After:=Sheets(Dernièrefeuille)
    ActiveSheet.Name = "Palette MR-" & Format(i + Derniernuméro, "000[-40C]")
    'la ligne suivante est à ajouter au code
Range("A2").Value = "='Envoi Fondation Pro'!A" & 3 + i

Next i

Ps si vous voulez repartir à zéro il suffit de supprimer tous les onglets aprés Palette MR-001 et remettre le numéro de compteur de l'onglet macro à 1

merci c'est tout a fait ca par contre je voulais le realiser sur d'autre cellule de la meme ligne et il ne les prend pas en compte?

image

merci encore.

merci c'est tout a fait ca par contre je voulais le realiser sur d'autre cellule de la meme ligne et il ne les prend pas en compte?

image

merci encore.

Si c'est pour d'autres cellules pourquoi écrivez vous dans Range("A2") ??? la vous écrivez dans la même à chaque fois. si c'est colonne suivant alors c'est Range("B2") ?

oui tout a fait d'accord avec vous, désolé pour ça :) en tout cas merci encore pour votre aide fort appréciée.

salutations,

oui tout a fait d'accord avec vous, désolé pour ça :) en tout cas merci encore pour votre aide fort appréciée.

salutations,

Rechercher des sujets similaires à "comment dupliquer nombre onglet renommer"