VBA - Allez sur un onglet directement

  • Initiateur de la discussion Initiateur de la discussion beaf77
  • Date de début Date de début

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 !

B

beaf77

Guest
Bonjour à toutes & à tous,


Tout d'abord je vous souhaite à tous de bonnes fêtes & j'espère que cette nouvelle année vous comblera sur tout domaine (professionnel mais aussi et surtout personnel).
Pour moi, le perfectionnement du vba pour moi serait un bon objectif car je rame encore un peu beaucoup ... c'est pourquoi je fais appel à vous afin de solutionner mon problème qui ne doit pas être si complexe que ça.

Je m'explique :

j'ai une feuille "menu" dans laquelle une cellule varie à partir d'une liste déroulante.
on retrouve dans cette liste par exemple : toto, titi, tata, ....

je souhaite faire un bouton sur la feuille "menu" qui lorsque l'on clique dessus emmène en fonction du résultat de la cellule sur un onglet donné
Exemple : si j'ai toto dans la celllule et que je clique sur le bouton alors je vais directement sur la feuille "jardin"
Si j'ai titi dans la celllule et que je clique sur le bouton alors je vais directement sur la feuille "maison"
Si j'ai tata dans la celllule et que je clique sur le bouton alors je vais directement sur la feuille "garage"

J'avais commencé à faire une formule de la sorte mais ça ne marche pas et je bloque :

Sub Allez()

Application.ScreenUpdating = False

If I16 = "toto" Then Sheets("jardin").Select
Range("B3:I3").Select
If I16 = "titi" Then Sheets("maison").Select
Range("B3:I3").Select
If I16 = "tata" Then Sheets("garage").Select
Range("B3:I3").Select
....
If I16 = "X" Then Sheets("xxxx").Select
Range("B3:I3").Select

End Sub


Si quelqu'un avait la gentillesse de me filer un petit coup de pouce et de m'expliquer le pourquoi du comment qui fait que ma formule n'est pas bonne...

Dans l'attente...
Bien cordialement
 
Re : VBA - Allez sur un onglet directement

Bonjour,

A vue de nez, essaie quelque chose comme ça:
Code:
Sub Allez()

Select Case Cells("I16").Value
Case "toto"
Sheets("jardin").Select
Case "titi"
Sheets("maison").Select
...
end select
End Sub
(je l'ai pas essayé, donc à débugger )

edit: grillé par pierrot, donc bonjour pierrot.
 
Re : VBA - Allez sur un onglet directement

Re

tu peux aussi faire plusieurs tests, en utilisant "ElseIf" comme ci dessous :

Code:
If Range("I16").Value = "toto" Then
    Sheets("jardin").Select
    ElseIf Range("I16").Value = "titi" Then Sheets("maison").Select
End If

sort du "if" dès l'instant ou un test est vérifié.

@+

Edition : bonjour Kabal
 
Re : VBA - Allez sur un onglet directement

Bonjour beaf77, Kobal, Pierrot

En complément des réponses, si tu désactives la mise à jour de l'écran en début de code avec :
Code:
Application.ScreenUpdating = False

N'oublie pas de la réactiver à la fin du code:
Code:
Application.ScreenUpdating = True


Bonne journée
 
Re : VBA - Allez sur un onglet directement

Re à vous 3,


J'ai testé la solution 1 de Pierrot qui semble marcher sur 1 exemple.
J'écris ma formule en entier, je test e je vous tiens au courant...


PS : Pourquoi dois je penser à réactiver la mise à jour de l'écran à la fin du code?
Je ne l'ai jamais fais dans mes précédentes macros et je ne vois pas l'incidence?

En attendant , déjà un grand merci pour vote aide
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
537
Retour