Macro : Création d'un nouvelle onglet en fonction du nom précedent

akrillon

XLDnaute Nouveau
Bonjour à tous,

J'aurais besoin d'aide pour la création d'une macro.

- J'ai inséré un bouton de commande :
Lors du click j'aimerais que la macro me rajoute une nouvelle feuille en fonction du nom précédent.
Exemple : la feuille 1 s'appelle : contact 1, je click sur le bouton de commande, la feuille s'appellera donc contact 2 et ainsi de suite...

Petite difficulté, peut être en plus, tous les onglets ne s'appelle pas de la même façon :
Il y a un onglet a, un onglet b, et ensuite l'onglet contact 1.
J'aimerais donc que les noms a et b ne bougent pas.

Et pour finir j'aimerais que lors du click mon tableau en feuille "a" voit s'ajouter une colonne le plus à droite du nom de la nouvelle page créer.

Je vous joins un fichier en exemple, Car je ne dois pas être très clair ^^

J'ai réussie à faire cette macro mais le problème c'est quelle me renome toute mes feuilles

Sub Bouton1_Cliquer()

Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Select

Dim Feuille As Worksheet, Boucle As Long
Boucle = 1
For Each Feuille In Worksheets
Feuille.Name = ("Contract ") & Boucle
Boucle = (Boucle + 1)
Next Feuille

End Sub

Merci beaucoup de votre aide... :)
 

Pièces jointes

  • aide macro.xlsx
    12.7 KB · Affichages: 53
  • aide macro.xlsx
    12.7 KB · Affichages: 57
  • aide macro.xlsx
    12.7 KB · Affichages: 45
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Macro : Création d'un nouvelle onglet en fonction du nom précedent

Bonjour et bienvenu sur XLD

Si j'ai tout compris (?) :

Code:
Sub akrillon()
Dim Pref As String, Num As Integer, DerNom As String, NouvNom As String, DerCol As Integer

'derniere colonne utilisée feuille A
DerCol = Worksheets("a").Cells(13, Columns.Count).End(xlToLeft).Column

Pref = "Contact "
DerNom = Worksheets(Worksheets.Count).Name
'récupération du N° feuille
Num = Right(DerNom, Len(DerNom) - 7) + 1
'création nouveau nom de feuille
NouvNom = Pref & Num
'création nouvelle feuille
Sheets.Add After:=Sheets(Sheets.Count)
'renommage nouvelle feuille
 Worksheets(Worksheets.Count).Name = NouvNom
'rajout colonne nommée feuille a
Worksheets("a").Cells(13, DerCol + 1) = NouvNom

End Sub

A+
 

Efgé

XLDnaute Barbatruc
Re : Macro : Création d'un nouvelle onglet en fonction du nom précedent

Bonjour akrillon, Bonjour Paf :)
Comme Paf, si j'ai bien compris.... une autre version....
VB:
Sub test()
Application.ScreenUpdating = False
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "contact " & Sheets.Count - 1
With Sheets("A")
    .Cells(13, .Columns.Count).End(1)(1, 2) = Sheets(Sheets.Count).Name
    .Activate
End With
End Sub

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 275
Membres
103 507
dernier inscrit
tapis23