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

XL 2016 Ouverture d'un onglet avec CommandButton sur Userform

JPrev

XLDnaute Junior
Bonjour,

Pas doué avec les Userform (mais j'y travaille), j'ai créé un Userform à l'ouverture du fichier avec 2 choix possibles (2 boutons), j'aimerais qu'en cliquant sur le bouton choisi, le fichier m'affiche l'onglet principal du fichier ("2.FORMULAIRE" le même pour les 2 boutons).

La seule différence entre les 2 boutons, ce serait la valeur de la cellule "I5".

J'ai tenté un code qui n'a pas l'air de marcher...

VB:
Private Sub CommandButton1_DoubleClick()
Sheets("2.FORMULAIRE").Visible = True
Range("I5").Value = "Presqu'accident"
End Sub

Private Sub CommandButton2_DoubleClick()
Sheets("2.FORMULAIRE").Visible = True
Range("I5").Value = "Situation Dangereuse"
End Sub

Private Sub CommandButton1_Click()
Sheets("2.FORMULAIRE").Visible = True
Range("I5").Value = "Presqu'accident"
End Sub

Private Sub CommandButton2_Click()
Sheets("2.FORMULAIRE").Visible = True
Range("I5").Value = "Situation Dangereuse"
End Sub

Je n'arrive pas à trouver sur les discussions présentes mes erreurs, est-ce que quelqu'un peut m'aider?

Merci d'avance et bonne journée,

JPrev
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil comme le dit Brunou. Truc du genre pour chaque boutons
VB:
With Sheets("2.FORMULAIRE")
       .Visible = True
       .Range("I5").Value = "Presqu'accident
End With
Bonne journée
Jean marie
 

JPrev

XLDnaute Junior
Bonjour et merci pour vos retours,

J'ai effectué les modifications mais je n'arrive toujours pas à afficher ma feuille, je clique sur les boutons pour rien.

Une autre solution à tester?

JPrev
 

JPrev

XLDnaute Junior
Par contre le choix effectué marche bien, il ne manque que la partie où le UserForm disparaît et laisse place à mon onglet.

J'ai tenté : UserForm1.Hide mais je n'ai pas l'onglet qui s'affiche derrière

JPrev
 

Int0x

XLDnaute Occasionnel
Bonjour et merci pour vos retours,

J'ai effectué les modifications mais je n'arrive toujours pas à afficher ma feuille, je clique sur les boutons pour rien.

Une autre solution à tester?

JPrev
Salut,

Si tu lis ton code, ça donne :
- Affiche l'onglet "2.Formulaire"
- Remplis en I5 sur l'onglet actif (celui où il y'a les boutons) la valeur "xxx"

Il manque juste la sélection de l'onglet que tu viens d'afficher
VB:
Private Sub CommandButton1_Click()
With Sheets("2.FORMULAIRE")
       .Visible = True
       .activate
       .Range("I5").Value = "Presqu'accident"
End With
unload userform1
End Sub
 
Dernière édition:

JPrev

XLDnaute Junior
Salut,

Si tu lis ton code, ça donne :
- Affiche l'onglet "2.Formulaire"
- Remplis en I5 sur l'onglet actif (celui où il y'a les boutons) la valeur "xxx"

Il manque juste la sélection de l'onglet que tu viens d'afficher
Merci pour ton retour, j'ai effectué la modif avec UnLoad UserForm1, ça marche également pour enlever le UserForm par contre je n'ai plus rien d'affiché derrière.

Le fichier reste ouvert (je le vois dans l'explorateur), mais rien à l'écran!

JPrev
 

Int0x

XLDnaute Occasionnel
Re,

As-tu essayé le mode "pas à pas" ?
En te mettant dans ton code et en appuyant sur F8, tu vas avancer progressivement dans celui-ci et voir ce qu'il se passe. Tu vas donc voir si la logique attendue se déroule comme prévu et aussi à quel moment cela coince ou ne fait pas ce qui est voulu ! Tu appuies sur F8, ça lance la première ligne. Tu rappuies sur F8, ça passe sur la seconde ligne, etc...

Peux-tu essayer le mode pas à pas avec ce code là sur ton bouton "Situation dangereuse" ?
Normalement, le code doit :
  • Afficher ta feuille Formulaire
  • Se positionner dessus
  • Remplir "Situation Dangereuse" en I5
  • Décharger / Masquer le Userform

VB:
Private Sub CommandButton2_Click()
    Sheets("2.FORMULAIRE").Visible = True
    Sheets("2.FORMULAIRE").activate
    Sheets("2.FORMULAIRE").[I5] = "Situation Dangereuse"
    Unload UserForm1
End Sub
 

Discussions similaires

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