renommer une feuille en fonction d'une liste de validation

voldemort

XLDnaute Junior
Bonjour à tous, bonjour le forum,

Malgré de nombreuses recherches, et de nombreux essais avec des bouts de codes glanés de ci delà, je n'arrive pas a trouver la solution à mon problème.
Dans le classeur ci joint, la feuille " tableau de bord" contient un bouton lançant une macro pour recopier la feuille " tableau de bord". Je souhaiterais que cette feuille soit renommée en fonction de la valeure de la liste de validation qui se trouve sur la feuille elle meme en B2 et qui renvoit les mois de l'année.

Je n'arrive pas à adapter les différents code trouvés sur le forum pour réussir à faire cela, aussi merci à ceux qui se pencheront sur la résolution de mon problème.
 

Pièces jointes

  • tableau de bord remplacements.zip
    20.8 KB · Affichages: 34

JNP

XLDnaute Barbatruc
Re : renommer une feuille en fonction d'une liste de validation

Bonjour Voldemort :),
Code:
Sub nouvellepage()
Sheets("tableau de bord").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Sheets("tableau de bord").Range("B2")
End Sub
devrait te convenir.
Bon dimanche :cool:
 

Modeste

XLDnaute Barbatruc
Re : renommer une feuille en fonction d'une liste de validation

Bonjour voldemort,

Si tu ajoutes, dans code de ton Module:
Code:
Sub nouvellepage()
    Sheets("tableau de bord").Copy After:=Sheets(3)
[COLOR="Green"][B]    ActiveSheet.Name = Sheets("tableau de bord").[B2][/B][/COLOR]End Sub
... Il me semble que ça devrait fonctionner. Attention au fait que la feuille pourrait déjà exister ou qu'aucun mois n'ait été sélectionné!

Edit: Oups ! Salut JNP
 

voldemort

XLDnaute Junior
Re : renommer une feuille en fonction d'une liste de validation

merci pour vos réponse, il serait en effet plus prudent de boucler pour vérifier qu'il n'éxiste pas déjà la feuille, quelqu'un peut il encore m'apporter son aide dans cette recherche....Sans abuser bien sur !!!


merci a tous les deux pour votre aide et le temps que vous me consacrez !!

a vous lire
 

Modeste

XLDnaute Barbatruc
Re : renommer une feuille en fonction d'une liste de validation

re-bonjour,

Code:
Sub nouvellepage()
    For Each ws In ThisWorkbook.Sheets
        If ws.Name = Sheets("tableau de bord").[B2] Then
            MsgBox "feuille existante"
            Exit Sub
        End If
    Next ws
    Sheets("tableau de bord").Copy After:=Sheets(3)
    ActiveSheet.Name = Sheets("tableau de bord").[B2]
End Sub
Tu noteras, par ailleurs, que le code de JNP plaçait la nouvelle feuille en dernière position, tandis qu'en ce qui me concerne, j'ai repris le début de ton code. Voir donc si la proposition de JNP n'est pas plus intéressante.
 

voldemort

XLDnaute Junior
Re : renommer une feuille en fonction d'une liste de validation

Merci à vous tous pour vos réponses,

grace à vous j'apprends et je progresse, ci dessous le code final pour ceux qui comme moi cherche à comprendre.

Vivement que je sois capable d'apporter moi aussi une contribution à ce forum d'entraide.

Chapeau bas, vous portez au plus haut la notion de solidarité !!

Le code final :

Sub nouvellepage()
For Each ws In ThisWorkbook.Sheets
If ws.Name = Sheets("tableau de bord").[B2] & " " & Sheets("tableau de bord").Range("B1") Then
MsgBox "feuille existante ou cliquez sur l'onglet Tableau de bord avant de créer un nouveau tableau", vbCritical, "Oups !! "
Exit Sub
End If
Next ws
Sheets("tableau de bord").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Sheets("tableau de bord").Range("B2") & " " & Sheets("tableau de bord").Range("B1")
Sheets("tableau de bord").Select
End Sub

j'ai rajouté l'année dans le nom de l'onglet ainsi que dans la boucle de controle.
 

Discussions similaires

Réponses
8
Affichages
473

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2