Autres Sélectionner une feuille selon la valeur d'une liste déroulante

Electron24

XLDnaute Occasionnel
Bonjour le Forum

Voici mon souci, j'ai dans une feuille une liste déroulante avec comme cellule liée "F2" Selon la valeur de F2 (valeur comprise entre 1 et 25 je souhaite afficher la feuille correspondante. Feuille nommée 1 à 25
J'ai pas trouvé de réponse à mon problème aussi je fais appel à vos connaissance.
Merci de votre aide.
 

job75

XLDnaute Barbatruc
Bon voyez le fichier joint avec les 2 types de listes déroulantes et ces macros :
VB:
Private Sub ComboBox1_Change()
On Error Resume Next
Sheets(CStr([F2])).Activate
End Sub

Sub Liste_Formulaire()
On Error Resume Next
Sheets(CStr([F4])).Activate
End Sub
A+
 

Pièces jointes

  • Listes déroulantes(1).xlsm
    30.5 KB · Affichages: 43

job75

XLDnaute Barbatruc
Bonjour Toavina Andrianahy, bienvenue sur XLD, bonjour le forum,

Voyez ce fichier (2) et le code de la feuille "Accueil" :
VB:
Private Sub ComboBox1_Change()
On Error Resume Next
Sheets(CStr([F2])).Activate
If Err = 0 Then Renommer
End Sub

Sub Liste_Formulaire()
On Error Resume Next
Sheets(CStr([F4])).Activate
If Err = 0 Then Renommer
End Sub

Sub Renommer()
Dim nom$, s As Object
1 nom = Left(InputBox("Entrez le nouveau nom :", "Renommer la feuille ?", nom), 31)
If nom = "" Then Exit Sub
On Error Resume Next
ActiveSheet.Name = nom 'renomme
If Err = 0 Then MsgBox "La feuille a été renommée": Exit Sub
Set s = Nothing
Set s = Sheets(nom)
MsgBox IIf(s Is Nothing, "Caractère interdit !", "Nom déjà attribué !"), 48
GoTo 1
End Sub
A+
 

Pièces jointes

  • Listes déroulantes(2).xlsm
    27.1 KB · Affichages: 6

job75

XLDnaute Barbatruc
Fichier (2 bis) avec une boucle Do/Loop pour ceux qui n'aiment pas les GoTo :
VB:
Sub Renommer()
Dim nom$, s As Object
Do
    nom = Left(InputBox("Entrez le nouveau nom :", "Renommer la feuille ?", nom), 31)
    If nom = "" Then Exit Sub
    On Error Resume Next
    ActiveSheet.Name = nom 'renomme
    If Err = 0 Then MsgBox "La feuille a été renommée": Exit Sub
    Set s = Nothing
    Set s = Sheets(nom)
    MsgBox IIf(s Is Nothing, "Caractère interdit !", "Nom déjà attribué !"), 48
Loop
End Sub
 

Pièces jointes

  • Listes déroulantes(2 bis).xlsm
    27.3 KB · Affichages: 11

Discussions similaires

Réponses
2
Affichages
264

Statistiques des forums

Discussions
312 088
Messages
2 085 200
Membres
102 816
dernier inscrit
bolivier