Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Insertion d'une nouvelle feuille et nommage dynamique

XIRPONOM

XLDnaute Nouveau
Bonjour à tous,

Voici mon pb:
J'ai besoin d'une macro qui automatise les séquences suivantes:

Je suis sur une feuille nommée xxxxx.n
n est un n° d'ordre
xxxxx est un texte quelconque

Je souhaite insérer une nouvelle feuille qui doit être nommée xxxxx.n+1
C'est à dire en incrémentant de 1 le n° d'ordre de la feuille de départ.

Merci pour votre aide et joyeuses Pâques.
 

Staple1600

XLDnaute Barbatruc
Re : Insertion d'une nouvelle feuille et nommage dynamique

Bonjour à tous

Sans plus de contexte (comme un fichier exemple ...)
Code:
Sub a()
Dim n: n = 1
Sheets.Add.Name = "xxxxx." & n + 1
End Sub
et pour coller un peu plus à la question
Code:
Sub b()
Dim t, n&, x$
t = Split(ActiveSheet.Name, ".")
x = t(0): n = CLng(t(1))
Sheets.Add.Name = x & "." & n + 1
End Sub
 
Dernière édition:

XIRPONOM

XLDnaute Nouveau
Re : Insertion d'une nouvelle feuille et nommage dynamique

Merci, la version collante o) est quasi-parfaite:
la nouvelle feuille est insérée avant; il est certainement possible qu'elle le soit après ?
 

Efgé

XLDnaute Barbatruc
Re : Insertion d'une nouvelle feuille et nommage dynamique

Bonjour Geli, Bonjour Gelinotte, Salut Staple

Pour mettre tout de suite la feuille à coté de sa sœur, et au cas où le feuille existe....

VB:
Sub b_()
Dim t, n&, x$, F As Worksheet
t = Split(ActiveSheet.Name, ".")
x = t(0): n = CLng(t(1))
On Error Resume Next
Set F = Sheets(x & "." & n + 1)
If Err Then
    Err.Clear
    Sheets.Add(After:=Sheets(ActiveSheet.Index)).Name = x & "." & n + 1
Else
    MsgBox " L'onglet " & x & "." & n + 1 & " est déja  présent" & vbLf & vbLf & "traitement interrompu", 1048640, "Feuille existante"
End If
End Sub

Cordialement
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…