Lien d'un bouton VB vers onglet Excel [Fermé]

- - Dernière réponse :  Maks - 18 mai 2017 à 19:07
Bonjour,
j'aimerais créer un bouton via une macro qui en cliquant dessus pointe vers un onglet Excel qui contient un graphique
merci de pouvoir m'aider
Afficher la suite 

20 réponses

Meilleure réponse
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
771
31
Merci
bonsoir,

dans ta formulation tu parles de créer un bouton via une macro....
je suppose que tu veux un bouton qui, via une macro, te permette d'accéder à une feuille de ton classeur
Même si c'est peut-être pas la meilleure façon de faire, allons-y :

1) tu insères d'abord un bouton dans ta feuille de calcul
si tu n'as pas la barre d'outil "formulaire", tu l'affiches via affichage/barre d'outils. Tu cliques sur le bouton et tu le dessines.
Il s'appelle bouton 1 sûrement

2) il te demande de suite de lui affecter une macro dont il te propose le nom (il est sympa non!) genre bouton_1_quand_clic.
tu cliques sur nouvelle

3) tu pars alors vers l'éditeur VBA directement dans ta routine attachée au bouton et tu tapes
sheets("ma_feuille_ou_y_a_mon_graphique").activate

4) tu retournes sur ton classeur et tu cliques sur ton bouton
tu arrives alors sur ton onglet graphique ...... et tu va te demander comment revenir à l'onglet précédent....

autre façon de faire : par un lien hypertexte soit sur une cellule soit sur un objet graphique.
en affichant la barre d'outil Web tu auras les flèches de navigation pour retourner en arrière.

cordialement

Dire « Merci » 31

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62844 internautes nous ont dit merci ce mois-ci

Merci pour ce poste, j'avais essayer en enregistrent des macros, mais après chaque enregistrement exel perde le module d'enregistrement. En créant la macro directement avec basic editor je n'ai plus de problème. :) encore merci
11 ans après ton "tutoriel", il est encore utilisé et vient de me rendre un grand service !!!
Merci beaucoup !
12
Merci
Bonjour,
ya t'il une autre méthode pour faire un lien vers un onglet excel?
j'aimerai créer une sorte de liste qui quand on clique sur l'onglet concerné et sur un bouton OK ca aille directement sur l'onglet concerné
merci beaucoup pour votre aide
4
Merci
oki mais dsl je suis vraiment nul en VB
avec un onglet "test" par exemple tu fé comment?
il faut en plus de la liste un bouton de validation?
merci beaucoup
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
771
4
Merci
bonsoir,

je ne peux que te redire ce que j'ai mis dans le post <7> :

Je cherche à faire une liste déroulante ou chaque item correspondant à un onglet excel
Private Sub ComboBox1_DropButtonClick()
    ComboBox1.Clear
    For Each vfeuille In ActiveWorkbook.Sheets
            ComboBox1.AddItem vfeuille.Name
    Next
End Sub
c'est ce que ce code fait !!!

renvoie sur ce même onglet en cliquant dessus
Private Sub ComboBox1_Click()
    Sheets(ComboBox1.Value).Activate
End Sub
c'est ce que ce code fait !!!

comment te le dire? y a-t-il quelque chose qui t'échappe?
as-tu essayé ces codes?

sais-tu mettre un code derrière une feuille?
(dans l'éditeur VBA : clic droit/code sur la feuille qui contient le combobox )

as-tu réellement mis un combobox sur ta feuille?
(zone de liste déroulante dans la barre d'outils boîte à outils contrôles)
naturellement, le nom du combobox doit correspondre au code que je t'ai indiqué!

A+
4
Merci
salut a ts j'ai un probleme:
je suis enseignant et je voudrais faire une petite manoeuvre pour que je puisse entrer les notes de mes eleves ds un fichiers excel de type :
nom prenom: (nom de l'enseignant )
matiere : math
code : (pour que personne d'autre ne puisse acceder aux notes )
comment faire pour que personne n'accede aux note que celui qui tappe le bon code
avec un lie hypertexte ou bouton de commnde ?
merci a vous !!
a+
Messages postés
37903
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
8 décembre 2019
1683
3
Merci
salut

rien ne t'empêche d'insérer sur une feuille un combobox ou une liste, le code sera sensiblement le même qu'avec un bouton

Private Sub ComboBox1_Click()

sheets(ComboBox1.Value).activate

End Sub


ou quelque chose du genre
3
Merci
bjr a ts c encore moi ya t il qqn qui pourrait m'aider a faire un pti programme pour entrer les notes de mes eleves sur excel sans que personne ne puisse entrer dedans pour les modier ?
sous forme
de nom :
prenom :
matiere :
mot de passe :en tappant le mot de passe on est lier a un fichier de note d''eleves :
tableau sous forme de
noms /prenom /note 1/ note 2/ note 3 /tottal / moyenne
pour que je puisse saisir les notes
merci bq
Messages postés
1
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
9 avril 2008
2
2
Merci
Bonjour,
je voudrais savoir si c'est possible de:
créer un bouton sous Excel qui renverrais à l'ouverture d'un dossier PDF associé à mon fichier Excel (ou sur mon pc)
Merci à vous
1
Merci
dsl j'ai essayé
sheets("test").activate
sheets("test1").activate
sheets("test2").activate
mais ca les affiche pas ds sa combo...
dsl d'etre mauvais
merci beaucoup
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
771
1
Merci
bonjour,

pour aller dans le sens de choubaka, tu insères ce code derrière la feuille où se trouve ton combobox :
Private Sub ComboBox1_Click()
    Sheets(ComboBox1.Value).Activate
End Sub

Private Sub ComboBox1_DropButtonClick()
    ComboBox1.Clear
    For Each vfeuille In ActiveWorkbook.Sheets
            ComboBox1.AddItem vfeuille.Name
    Next
End Sub
la dernière procédure est là pour suivre l'évolution des tes feuilles de calcul (ajout/suppression)

cordialement
1
Merci
oki
mais avec des onglets test1 test2....test3 ca donne koi?
merci beaucoup
dsl de pas comprendre grand chose...
Messages postés
37903
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
8 décembre 2019
1683
1
Merci
ça donne que dans le code de JvDo, les différents onglets de ton classeur excell seront repris dans la combobox et celà va te fabriquer une liste avec les onglets existants, ce qui te permet lorsque tu cliques sur une de ces entrées d'ouvrir l'onglet demandé..

entre nous, évite de poser la même question sur plusieurs forums svp. j'ai fermé celui ouvert dans le forum logiciel/pilotes..

1
Merci
Bonjour,
je reviens vers mon pb. Je cherche à faire une liste deroulanbte ou chaque item correspondant à un onglet excel renvoie sur ce même onglet en cliquant dessus et en validant via un bouton
Par exemple, si les onglets s'appellent "test1", "test2"...
ca donne koi?

merci de votre réponse
Messages postés
146
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
23 mars 2015
10
1
Merci
Bonjour à tous,

Super explication de JvDo ! J'ai un projet similaire à celui de Manuel, et c'est génial ! Le VBA (du moins, ses bases basiques pour débutants comme moi) n'est pas si compliqué que ce que je m'imaginais.

Bonne continuation et bon développement à tous !

Jean-Philippe
Messages postés
146
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
23 mars 2015
10
1
Merci
Re-bonjour à tous,

Forcément, je coince au même niveau que "lemalin"...

Je n'obtiens qu'un énorme bouton de ce que j'imagine être une "ComboBox", sans que les différents choix d'onglets n'apparaissent dans la liste déroulante...

S'il reste un peu de patience 3 ans après et une poignée de minutes à perdre à JvDo et Choubaka (ainsi qu'à tous ceux pouvant m'expliquer), je les en remercie vivement par avance !

Bonne continuation

Jean-Philippe
JvDo
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
771 -
Bonjour,

peux-tu
1) préciser le nom de ta combobox,
2) indiquer le nom de l'onglet où est ta combobox
3) coller ici le code de ta macro
4) me dire où tu as mis ce code : dans un module?
5) vérifier si tu es en "mode création" de la barre d'outil formulaire.

cordialement
JvDo
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
771 -
Bonjour,

je n'avais pas vu le message.
voii la réponse : http://www.cijoint.fr/cjlink.php?file=cj200904/cijNJyfRNx.xls

cordialement
Messages postés
37903
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
8 décembre 2019
1683
0
Merci
non, il ne faut pas de bouton, la macro s'execute lors de l'action click sur le combo ou la liste ...

Private Sub ComboBox1_Click()

sheets("test").activate

End Sub


tu verras la réaction suite au click
après, il suffira d'aller chercher la valeur sélectionnée dans la liste, voir le code précedént
0
Merci
Bonjour;

Ayant crée un menu déroulant pointant vers des onglets (combobox), j'aurais souhaité que tous les onglets n'apparaissent pas sur le menu (car certaines feuilles représentent des calculs). Quel code donner a la macro pour qu'elle n'active que certaines feuilles
JvDo
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
771 -
bonjour,
tu filtres tes feuilles dans la macro qui nourrit la combobox :
Private Sub ComboBox1_DropButtonClick()
    ComboBox1.Clear
    For Each vfeuille In ActiveWorkbook.Sheets
        If "mafeuille n'est pas une feuille de calcul" then
            ComboBox1.AddItem vfeuille.Name
        end if
    Next
End Sub

naturellement, il faut que tu trouves la condition qui représente le "mafeuille n'est pas une feuille de calcul"

cordialement
> JvDo
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
-
Bonjour.
Je ne comprends pas comment exclure une feuille du menu déroulant
Aidez moi svp
MERCI
JvDo
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
771 > killacharly -
Bonjour,
tu utilises les propriétés caractéristiques des feuilles que tu veux garder (ou éliminer).
ex :
si tu ne veux que les feuilles de rang pair, tu fais un for i=2 to sheets.count step 2.
si tu ne veux que les feuilles commençant par "a", tu testes left(sheets(i).name,1)="a"
si tu ne veux que les feuilles 5 à 11 tu boucles : for i=5 to 11

cordialement

PS : tout ça est à caler dans VBA car je n'ai rien testé!
> JvDo
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
-
Merci c'est nickel, ça marche parfaitement.
> JvDo
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
-
Encore merci pour tout.
Tu peux peut être encore m'aider pour autre chose.
Voilà je t'explique, j'ai un userform avec plusieurs textbox les uns en dessous des autres, le nombre de textbox n'est pas assez important par rapport au nombre de lignes que j'ai besoin d'écrire( une ligne par textbox). En fait ce que je voudrais, c'est un scollbar dans mon userform pour faire défiler chaque ligne dans une textbox et pour pouvoir faire défiler tout ça comme je le souhaite, tout en sauvegardant tout ça lors de la fermeture de mon fichier.
J'espère avoir été assez clair, c'est pas facile à expliquer!!!
En attente de ta réponse merci d'avance...
0
Merci
urgent!!!!!!!!!!!!!!!!!!
pleaze je veux des codes de combobox et button qui emporte les informations d'un formulaire et le stock dans un feuille excel
par exemple:si en saisie le( nom;prenom;code ) dans un formulaire vb ,il s'affiche dans une feuille excel
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1094
0
Merci
Bonjour,

je veux des codes de combobox et button qui emporte les informations ...

C'est des déménageurs que tu cherches ??? ^^

|o)
Bonjour, j'ai bien suivi les explication du haut d epage et cela marche a merveille, maintenant j'aimerais que "quand je clique sur mon bouton cela m'emmene directement a une cellule spécifique" qui elle restera vide.

suis-je clair !!

merci d'avance
JvDo
Messages postés
1938
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
16 août 2019
771 -
Bonsoir,
Après le
Sheets(ComboBox1.Value).Activate
, tu pourrais mettre un
Activesheet.Range($C$4).Select
et ça te mettrait le curseur en C4.
C'est du "pavérifié" mais ça devrait fonctionner.
Cordialement
0
Merci
bonjour,

je voudrais savoir comment faire pour changer d'onglet après avoir éffectuer une action, code d'action :

Sub sup()

Range("1:5").Select
Selection.EntireRow.Delete

If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft

End Sub

et suite a sa je veut qu'il change d'onglet pour effectuer la même opération et ainsi de suite. j'ai essayer sa :

Sub sup()

Range("1:5").Select
Selection.EntireRow.Delete

If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft

Next s et Next Sheet(s)

End Sub

mais sa veut pas.

Merci a vous