Copier automatiquement nom d'un nouvel onglet

Mapat

XLDnaute Occasionnel
Bonjour

J'ai un fichier dans lequel je rajoute très souvent un nouvel onglet.
Ces nouvelles feuilles sont nommées d'une suite de numéros 1, 2, 3 , etc ....
Est-il possible de pouvoir copier le nouveau n° du nouvel onglet créé dans une cellule
par ex A2 ?
Merci et bon après-midi
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Mapat, vgendron :)

En VBA et dans ThisWorkbook. Mais Feuil1 est nommée "Base" par exemple et sans besoin d'inscrire le numéro.

VB:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim i As Long, x As Long
x = 0
For i = 2 To Sheets.Count
x = x + 1
Sheets(i).Name = x
Next i
End Sub
 

Mapat

XLDnaute Occasionnel
Bonjour et merci de cette réponse
La formule ne fonctionne pas et la macro sert à lister toutes les feuilles
Ce que je voudrais, c'est comme une sorte de compteur qui inscrirait le n° de la nouvelle feuille
en a2
 

Pièces jointes

  • Nom de feuille.xlsm
    52 KB · Affichages: 30
  • Nom de feuille.xlsm
    52 KB · Affichages: 29
  • Nom de feuille.xlsm
    52 KB · Affichages: 25
  • Nom de feuille.xlsm
    52 KB · Affichages: 28
  • Nom de feuille.xlsm
    52 KB · Affichages: 22

Mapat

XLDnaute Occasionnel
Oups !!!.....
Pardonne moi je n'avais pas vu cette réponse
Et j'ai dû être bègue pour valider mon fichier joint !
J'ai copié ta macro dans ThisWorkbook mais ça ne marche pas
 

Pièces jointes

  • Nom de feuille.xlsm
    65.4 KB · Affichages: 24

vgendron

XLDnaute Barbatruc
Hello

selon ce que j'ai compris..
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NouveauNum As Integer
Dim ws As Worksheet
Dim wsexist As Boolean

Application.ScreenUpdating = False
If Not Intersect(Target, Range("G9")) Is Nothing Then
    NouveauNum = Range("F9")
    wsexist = False
    If Range("F9").Value <> "" Then
        For Each ws In Worksheets
            If ws.Name Like NouveauNum Then
                wsexist = True
                Exit For
            End If
        Next ws
       
        If Not wsexist Then
            Worksheets("Modèle").Copy After:=Sheets("Modèle")
            ActiveSheet.Name = NouveauNum
            ActiveSheet.Range("a2") = NouveauNum
        End If
    End If
    Cancel = True
End If

Application.ScreenUpdating = True

End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa