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

Nommer une feuille :Nom +1 ;Nom+2

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Evelynetfrancois

XLDnaute Impliqué
bonsoir à tous

Dans un classeur , je copie et nomme une feuille avec la valeur de la ComboBox1 ("Glacis" par exemple, mais il peut y avoir d'autres noms) comme ci-dessous

Dim Nom As String
Sheets("modele").Copy After:=Sheets(2)
Nom = ComboBox1.Value
ActiveSheet.Name = Nom , donc Glacis........

Bien evidement le même nom n'est pas possible si je renomme une feuille avec la mème valeur de la ComboBox1 (Glacis)

Alors ma Question?
Est-t-il possible d y ajouter 1 puis 2 puis 3 etc.....?
Glacis1 ; Glacis2 ; Glacis3 etc

Merci d avance pour vos idées toujours géniales
bonne soirée à tous

E et F
 
Re : Nommer une feuille :Nom +1 ;Nom+2

Bonjour

Ci joint un code à tester

Code:
Dim Sh As Worksheet
Dim erreur As Byte
Dim index As Integer
Dim nom1 as string
nom1=nom
index = 1
..........................................
Do
    For Each Sh In Worksheets
        If Sh.Name = Nom Then
            erreur = 1
            Exit For
        End If
    Next Sh

    If erreur = 0 Then Exit Do

    If erreur = 1 Then
        Nom = Nom1 & index
        erreur = 0
        index = index + 1
    End If
    
Loop

ActiveSheet.Name = Nom
...................................

On recherche dans la boucle Do si le no existe. Si on trouve le nom on ajoute un index et on recommence tant que le nom n'est pas trouvé dans ce cas on sort de la boucle DO.


JP
 
Dernière édition:
Re : Nommer une feuille :Nom +1 ;Nom+2

Bonsoir EvelyneetFrancois, Jp14

une autre approche, peut être.... à adapter à ton projet.

Code:
Dim sh As Worksheet, i As Byte, monnom As String
monnom = "Feuil"
i = 1
debut:
For Each sh In Worksheets
    If sh.Name = monnom Then _
        monnom = monnom & i: i = i + 1: GoTo debut
Next sh
ActiveSheet.Name = monnom

bonne soirée
@+
 
Re : Nommer une feuille :Nom +1 ;Nom+2

Bonjour EvelyneetFrancois, Pierrot

Il suffit pour résoudre ce problème modifier la macro
au début rajouter
Dim nom1 as string
nom1=nom
et modifier
Nom = Nom & index
écrire
Nom = Nom1 & index

JP
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
760
Réponses
2
Affichages
406
Réponses
5
Affichages
604
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…