Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro pour ouvrir un onglet d'après un critère

19 réponses
Avatar
PLG
Bonjour à tous
Je souhaiterais à partir d'un résultat qui s'affiche, lancer une macro qui
m'ouvrira un onglet.
Exemple :
En A1, si le résultat affiché est 3, je lance la macro, celle-ci m'ouvrira
l'onglet nommé "Mars". En fait les résultats affichés seront de 1 à 12, les
onglets à ouvrir, Janvier à Décembre.

Merci de votre collaboration et bonne (journée, soirée, nuit... à choisir)

9 réponses

1 2
Avatar
PLG
Bon, bèh... même après avoir mangé ( c'est peut-être pire d'ailleurs... )
j'ai beau faire ce que tu me dis.... rien ne se passe !
Le bouton en lui même, ce n'est pas trop grave !
En fait ce qui me plairait d'avantage, c'est comme je te le disais, pouvoir
créer un bouton et y affecter ta macro.
Hors, elle a point de nom et ne la trouve pas....!
Je veux pouvoir me servir de ton code.... n'importe où....

C'est dur de ne pas maîtriser le vba... va falloir que je m'y colle un jour
!!!
Ne te prends pas le chou avec moi, il faudrait presque que je communique
direct... le forum va avoir marre de mes demandes, en plus ce n'est qu'avec
toi !

Encore merci...

"Francois L" a écrit dans le message
de news: %23a8N74s%
PLG a écrit :

Re,

Le bouton vient de la barre d'outils "contrôles". Ouvres le classeur,
avec les macros activées bien sur. Dans la barre d'outils contrôles,
cliques sur l'icone avec une équerre bleue pour passer en mode
modification.

Si tu fais un double clic sur le bouton, tu verras apparaitre le code qui
lui est attaché.

Pour que ça fonctionne, il faut bien sur ensuite re cliquer sur l'équerre
pour sortir du mode modification.

--
François L

.... petit problème !!!
François Help !
Comment je peux me servir de ton code...!?
Si je veux l'affecter à un bouton... ta macro n'apparaît pas....
Elle n'a pas de nom ?
Et ton bouton c'est quoi ? Un clic droit dessus est inopérant.
Là tu m'as largué !

"PLG" a écrit :

Cette fois, c'est nickel-chrome... comme je souhaitais
Je vais de ce pas mettre en application ton code.
Merci et très bonne journée à toi

"Francois L" a écrit :

PLG a écrit :

Re,

Alors comme ça :
http://cjoint.com/?ikk6LiCGQj

Le code est du coup dans un module et non plus dans une feuille.

--
François L

Bonjour François et merci, merci aussi de la promptitude !
Ce code ma plait bien, je vais le conserver.
Mais, j'aurais souhaité ne pas aller directement sur l'onglet
souhaité, mais y aller moi même en cliquant sur un bouton.
.... jamais content ces clients....!!!


"Francois L" a écrit dans le
message de news: eK8$Qzr%
PLG a écrit :

Bonjour,

Dans la feuille ou tu choisis ton mois, le code :
'----------------------------------------------------------------
Option Base 1

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Mois = Array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", _
"Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre")
Myval = [A1]
Sheets(Mois(Myval)).Activate
End If
End Sub
'------------------------------------------------------------------

Attention, les noms des feuilles doivent être écrits de la même
manière que dans le Array.

Exemple en PJ


http://cjoint.com/?ikjPbUjG7p


--
François L


Bonjour à tous
Je souhaiterais à partir d'un résultat qui s'affiche, lancer une
macro qui m'ouvrira un onglet.
Exemple :
En A1, si le résultat affiché est 3, je lance la macro, celle-ci
m'ouvrira l'onglet nommé "Mars". En fait les résultats affichés
seront de 1 à 12, les onglets à ouvrir, Janvier à Décembre.

Merci de votre collaboration et bonne (journée, soirée, nuit... à
choisir)















Avatar
Philippe.R
Re,
Pour affecter le code à un bouton et pouvoir le lancer de n'importe quel
endroit du classeur, il sera préférable de procèder comme suit :
Copier dans ton module la procédure ci dessous (oublie l'autre) :

sub choix_feuille
'MPFE le 10/08/2008
Select Case [zaza]
Case Is = 1
Sheets("Janvier").Select
Case Is = 2
Sheets("Février").Select
Case Is = 3
Sheets("Mars").Select
Case Is = 4
Sheets("Avril").Select
Case Is = 5
Sheets("Mai").Select
Case Is = 6
Sheets("Juin").Select
Case Is = 7
Sheets("Juillet").Select
Case Is = 8
Sheets("Aout").Select
Case Is = 9
Sheets("Septembre").Select
Case Is = 10
Sheets("Octobre").Select
Case Is = 11
Sheets("Novembre").Select
Case Is = 12
Sheets("Décembre").Select
End Select
end sub

nommer zaza la cellule qui accueille le numéro du mois (dans la feuille
sommaire si j'ai compris
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:
Bonjour Philippe et merci de ta réponse.
Je dois rater un truc...
J'ai ouvert une feuille, créer les onglets des mois + un sommaire.
j'ai ouvert le VBA, ajouter un module, y ai copié ton code...
A partir de la page Sommaire, j'ai crée un bouton, mais lorsque je veux
lui
affecter ta macro, je ne la trouve pas...
Je ne suis pas un champion dés qu'il s'agit de vba... je dois donc rater
un
truc...

"Philippe.R" a écrit :

Bonjour,
Pour ce faire, on utilisera l'évènement change de la feuille où s'affiche
le
résultat, en contrôlant que le changement a bien lieu dans la cellule
concernée (A1 dans l'exemple) ; enfin à l'aide d'un select case, afficher
la
feuille désirée
On aura quelque chose comme :

Private Sub Worksheet_Change(ByVal Target As Range)
'MPFE le 10/08/2008
If Not Intersect(Target, Range("a1")) Is Nothing Then
zaza = [a1]
Select Case zaza
Case Is = 1
Sheets("Janvier").Select
Case Is = 2
Sheets("Février").Select
Case Is = 3
Sheets("Mars").Select
'et ainsi de suite jusqu'à 12
End Select
End If
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:
> Bonjour à tous
> Je souhaiterais à partir d'un résultat qui s'affiche, lancer une macro
> qui
> m'ouvrira un onglet.
> Exemple :
> En A1, si le résultat affiché est 3, je lance la macro, celle-ci
> m'ouvrira
> l'onglet nommé "Mars". En fait les résultats affichés seront de 1 à 12,
> les
> onglets à ouvrir, Janvier à Décembre.
>
> Merci de votre collaboration et bonne (journée, soirée, nuit... à
> choisir)






Avatar
PLG
Philippe, je te remercie, cela marche très bien !
Simple, mais exactement ce qu'il me fallait !
Si tu passes par là, quelle est la différence entre les 2 codes, et surtout
entre: Sub choix_feuille() et Private Sub.....
choix_feuille, étant le nom de la macro, ça j'avais compris...

Bonne journée à toi et merci encore !

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
Oph%23n7u%
Re,
Pour affecter le code à un bouton et pouvoir le lancer de n'importe quel
endroit du classeur, il sera préférable de procèder comme suit :
Copier dans ton module la procédure ci dessous (oublie l'autre) :

sub choix_feuille
'MPFE le 10/08/2008
Select Case [zaza]
Case Is = 1
Sheets("Janvier").Select
Case Is = 2
Sheets("Février").Select
Case Is = 3
Sheets("Mars").Select
Case Is = 4
Sheets("Avril").Select
Case Is = 5
Sheets("Mai").Select
Case Is = 6
Sheets("Juin").Select
Case Is = 7
Sheets("Juillet").Select
Case Is = 8
Sheets("Aout").Select
Case Is = 9
Sheets("Septembre").Select
Case Is = 10
Sheets("Octobre").Select
Case Is = 11
Sheets("Novembre").Select
Case Is = 12
Sheets("Décembre").Select
End Select
end sub

nommer zaza la cellule qui accueille le numéro du mois (dans la feuille
sommaire si j'ai compris
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:
Bonjour Philippe et merci de ta réponse.
Je dois rater un truc...
J'ai ouvert une feuille, créer les onglets des mois + un sommaire.
j'ai ouvert le VBA, ajouter un module, y ai copié ton code...
A partir de la page Sommaire, j'ai crée un bouton, mais lorsque je veux
lui
affecter ta macro, je ne la trouve pas...
Je ne suis pas un champion dés qu'il s'agit de vba... je dois donc rater
un
truc...

"Philippe.R" a écrit :

Bonjour,
Pour ce faire, on utilisera l'évènement change de la feuille où
s'affiche le
résultat, en contrôlant que le changement a bien lieu dans la cellule
concernée (A1 dans l'exemple) ; enfin à l'aide d'un select case,
afficher la
feuille désirée
On aura quelque chose comme :

Private Sub Worksheet_Change(ByVal Target As Range)
'MPFE le 10/08/2008
If Not Intersect(Target, Range("a1")) Is Nothing Then
zaza = [a1]
Select Case zaza
Case Is = 1
Sheets("Janvier").Select
Case Is = 2
Sheets("Février").Select
Case Is = 3
Sheets("Mars").Select
'et ainsi de suite jusqu'à 12
End Select
End If
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:
> Bonjour à tous
> Je souhaiterais à partir d'un résultat qui s'affiche, lancer une macro
> qui
> m'ouvrira un onglet.
> Exemple :
> En A1, si le résultat affiché est 3, je lance la macro, celle-ci
> m'ouvrira
> l'onglet nommé "Mars". En fait les résultats affichés seront de 1 à
> 12,
> les
> onglets à ouvrir, Janvier à Décembre.
>
> Merci de votre collaboration et bonne (journée, soirée, nuit... à
> choisir)









Avatar
Philippe.R
Re,
La première procédure proposée (private...) est une procédure évènementielle
à placer dans le module de la feuille (celui qui s'ouvre quand on double
clic sur le nom de la feuille dans l'explorateur d'objets de VBE) ;
elle réagit automatiquement à tout changement de valeur de la cellule A1 de
cette feuille.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:eyAaNsv%
Philippe, je te remercie, cela marche très bien !
Simple, mais exactement ce qu'il me fallait !
Si tu passes par là, quelle est la différence entre les 2 codes, et
surtout entre: Sub choix_feuille() et Private Sub.....
choix_feuille, étant le nom de la macro, ça j'avais compris...

Bonne journée à toi et merci encore !

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
Oph%23n7u%
Re,
Pour affecter le code à un bouton et pouvoir le lancer de n'importe quel
endroit du classeur, il sera préférable de procèder comme suit :
Copier dans ton module la procédure ci dessous (oublie l'autre) :

sub choix_feuille
'MPFE le 10/08/2008
Select Case [zaza]
Case Is = 1
Sheets("Janvier").Select
Case Is = 2
Sheets("Février").Select
Case Is = 3
Sheets("Mars").Select
Case Is = 4
Sheets("Avril").Select
Case Is = 5
Sheets("Mai").Select
Case Is = 6
Sheets("Juin").Select
Case Is = 7
Sheets("Juillet").Select
Case Is = 8
Sheets("Aout").Select
Case Is = 9
Sheets("Septembre").Select
Case Is = 10
Sheets("Octobre").Select
Case Is = 11
Sheets("Novembre").Select
Case Is = 12
Sheets("Décembre").Select
End Select
end sub

nommer zaza la cellule qui accueille le numéro du mois (dans la feuille
sommaire si j'ai compris
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:
Bonjour Philippe et merci de ta réponse.
Je dois rater un truc...
J'ai ouvert une feuille, créer les onglets des mois + un sommaire.
j'ai ouvert le VBA, ajouter un module, y ai copié ton code...
A partir de la page Sommaire, j'ai crée un bouton, mais lorsque je veux
lui
affecter ta macro, je ne la trouve pas...
Je ne suis pas un champion dés qu'il s'agit de vba... je dois donc rater
un
truc...

"Philippe.R" a écrit :

Bonjour,
Pour ce faire, on utilisera l'évènement change de la feuille où
s'affiche le
résultat, en contrôlant que le changement a bien lieu dans la cellule
concernée (A1 dans l'exemple) ; enfin à l'aide d'un select case,
afficher la
feuille désirée
On aura quelque chose comme :

Private Sub Worksheet_Change(ByVal Target As Range)
'MPFE le 10/08/2008
If Not Intersect(Target, Range("a1")) Is Nothing Then
zaza = [a1]
Select Case zaza
Case Is = 1
Sheets("Janvier").Select
Case Is = 2
Sheets("Février").Select
Case Is = 3
Sheets("Mars").Select
'et ainsi de suite jusqu'à 12
End Select
End If
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:
> Bonjour à tous
> Je souhaiterais à partir d'un résultat qui s'affiche, lancer une
> macro qui
> m'ouvrira un onglet.
> Exemple :
> En A1, si le résultat affiché est 3, je lance la macro, celle-ci
> m'ouvrira
> l'onglet nommé "Mars". En fait les résultats affichés seront de 1 à
> 12,
> les
> onglets à ouvrir, Janvier à Décembre.
>
> Merci de votre collaboration et bonne (journée, soirée, nuit... à
> choisir)













Avatar
PLG
Merci pour ton explication.... faut vraiment que je m'y colle...!
Je ne sais pas trop par où commencer, mais bon.... je trouverais bien !

Bonne continuation sur le forum ( excellent, d'ailleurs !)

"Philippe.R" a écrit :

Re,
La première procédure proposée (private...) est une procédure évènementielle
à placer dans le module de la feuille (celui qui s'ouvre quand on double
clic sur le nom de la feuille dans l'explorateur d'objets de VBE) ;
elle réagit automatiquement à tout changement de valeur de la cellule A1 de
cette feuille.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:eyAaNsv%
> Philippe, je te remercie, cela marche très bien !
> Simple, mais exactement ce qu'il me fallait !
> Si tu passes par là, quelle est la différence entre les 2 codes, et
> surtout entre: Sub choix_feuille() et Private Sub.....
> choix_feuille, étant le nom de la macro, ça j'avais compris...
>
> Bonne journée à toi et merci encore !
>
> "Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
> Oph%23n7u%
>> Re,
>> Pour affecter le code à un bouton et pouvoir le lancer de n'importe quel
>> endroit du classeur, il sera préférable de procèder comme suit :
>> Copier dans ton module la procédure ci dessous (oublie l'autre) :
>>
>> sub choix_feuille
>> 'MPFE le 10/08/2008
>> Select Case [zaza]
>> Case Is = 1
>> Sheets("Janvier").Select
>> Case Is = 2
>> Sheets("Février").Select
>> Case Is = 3
>> Sheets("Mars").Select
>> Case Is = 4
>> Sheets("Avril").Select
>> Case Is = 5
>> Sheets("Mai").Select
>> Case Is = 6
>> Sheets("Juin").Select
>> Case Is = 7
>> Sheets("Juillet").Select
>> Case Is = 8
>> Sheets("Aout").Select
>> Case Is = 9
>> Sheets("Septembre").Select
>> Case Is = 10
>> Sheets("Octobre").Select
>> Case Is = 11
>> Sheets("Novembre").Select
>> Case Is = 12
>> Sheets("Décembre").Select
>> End Select
>> end sub
>>
>> nommer zaza la cellule qui accueille le numéro du mois (dans la feuille
>> sommaire si j'ai compris
>> --
>> Avec plaisir
>> http://dj.joss.free.fr/trombine.htm
>> http://jacxl.free.fr/mpfe/trombino.html
>> Philippe.R
>> Pour se connecter au forum :
>> http://www.excelabo.net/mpfe/connexion.php
>> News://news.microsoft.com/microsoft.public.fr.excel
>> "PLG" a écrit dans le message de
>> news:
>>> Bonjour Philippe et merci de ta réponse.
>>> Je dois rater un truc...
>>> J'ai ouvert une feuille, créer les onglets des mois + un sommaire.
>>> j'ai ouvert le VBA, ajouter un module, y ai copié ton code...
>>> A partir de la page Sommaire, j'ai crée un bouton, mais lorsque je veux
>>> lui
>>> affecter ta macro, je ne la trouve pas...
>>> Je ne suis pas un champion dés qu'il s'agit de vba... je dois donc rater
>>> un
>>> truc...
>>>
>>> "Philippe.R" a écrit :
>>>
>>>> Bonjour,
>>>> Pour ce faire, on utilisera l'évènement change de la feuille où
>>>> s'affiche le
>>>> résultat, en contrôlant que le changement a bien lieu dans la cellule
>>>> concernée (A1 dans l'exemple) ; enfin à l'aide d'un select case,
>>>> afficher la
>>>> feuille désirée
>>>> On aura quelque chose comme :
>>>>
>>>> Private Sub Worksheet_Change(ByVal Target As Range)
>>>> 'MPFE le 10/08/2008
>>>> If Not Intersect(Target, Range("a1")) Is Nothing Then
>>>> zaza = [a1]
>>>> Select Case zaza
>>>> Case Is = 1
>>>> Sheets("Janvier").Select
>>>> Case Is = 2
>>>> Sheets("Février").Select
>>>> Case Is = 3
>>>> Sheets("Mars").Select
>>>> 'et ainsi de suite jusqu'à 12
>>>> End Select
>>>> End If
>>>> End Sub
>>>> --
>>>> Avec plaisir
>>>> http://dj.joss.free.fr/trombine.htm
>>>> http://jacxl.free.fr/mpfe/trombino.html
>>>> Philippe.R
>>>> Pour se connecter au forum :
>>>> http://www.excelabo.net/mpfe/connexion.php
>>>> News://news.microsoft.com/microsoft.public.fr.excel
>>>> "PLG" a écrit dans le message de
>>>> news:
>>>> > Bonjour à tous
>>>> > Je souhaiterais à partir d'un résultat qui s'affiche, lancer une
>>>> > macro qui
>>>> > m'ouvrira un onglet.
>>>> > Exemple :
>>>> > En A1, si le résultat affiché est 3, je lance la macro, celle-ci
>>>> > m'ouvrira
>>>> > l'onglet nommé "Mars". En fait les résultats affichés seront de 1 à
>>>> > 12,
>>>> > les
>>>> > onglets à ouvrir, Janvier à Décembre.
>>>> >
>>>> > Merci de votre collaboration et bonne (journée, soirée, nuit... à
>>>> > choisir)
>>>>
>>>>
>>
>
>




Avatar
Philippe.R
Quelques liens pour t'aider à t'y coller (hormis la lecture régulière de ce
forum)
http://www.excelabo.net/excel/pap-vba.php
http://www.excelabo.net/excel/pap-userform.php
http://www.gaboly.com/VBA/IntroVBA.html
http://jacxl.free.fr/cours_xl/accueil_vba.html
Bonne lecture
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:
Merci pour ton explication.... faut vraiment que je m'y colle...!
Je ne sais pas trop par où commencer, mais bon.... je trouverais bien !

Bonne continuation sur le forum ( excellent, d'ailleurs !)

"Philippe.R" a écrit :

Re,
La première procédure proposée (private...) est une procédure
évènementielle
à placer dans le module de la feuille (celui qui s'ouvre quand on double
clic sur le nom de la feuille dans l'explorateur d'objets de VBE) ;
elle réagit automatiquement à tout changement de valeur de la cellule A1
de
cette feuille.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:eyAaNsv%
> Philippe, je te remercie, cela marche très bien !
> Simple, mais exactement ce qu'il me fallait !
> Si tu passes par là, quelle est la différence entre les 2 codes, et
> surtout entre: Sub choix_feuille() et Private Sub.....
> choix_feuille, étant le nom de la macro, ça j'avais compris...
>
> Bonne journée à toi et merci encore !
>
> "Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
> news:
> Oph%23n7u%
>> Re,
>> Pour affecter le code à un bouton et pouvoir le lancer de n'importe
>> quel
>> endroit du classeur, il sera préférable de procèder comme suit :
>> Copier dans ton module la procédure ci dessous (oublie l'autre) :
>>
>> sub choix_feuille
>> 'MPFE le 10/08/2008
>> Select Case [zaza]
>> Case Is = 1
>> Sheets("Janvier").Select
>> Case Is = 2
>> Sheets("Février").Select
>> Case Is = 3
>> Sheets("Mars").Select
>> Case Is = 4
>> Sheets("Avril").Select
>> Case Is = 5
>> Sheets("Mai").Select
>> Case Is = 6
>> Sheets("Juin").Select
>> Case Is = 7
>> Sheets("Juillet").Select
>> Case Is = 8
>> Sheets("Aout").Select
>> Case Is = 9
>> Sheets("Septembre").Select
>> Case Is = 10
>> Sheets("Octobre").Select
>> Case Is = 11
>> Sheets("Novembre").Select
>> Case Is = 12
>> Sheets("Décembre").Select
>> End Select
>> end sub
>>
>> nommer zaza la cellule qui accueille le numéro du mois (dans la
>> feuille
>> sommaire si j'ai compris
>> --
>> Avec plaisir
>> http://dj.joss.free.fr/trombine.htm
>> http://jacxl.free.fr/mpfe/trombino.html
>> Philippe.R
>> Pour se connecter au forum :
>> http://www.excelabo.net/mpfe/connexion.php
>> News://news.microsoft.com/microsoft.public.fr.excel
>> "PLG" a écrit dans le message de
>> news:
>>> Bonjour Philippe et merci de ta réponse.
>>> Je dois rater un truc...
>>> J'ai ouvert une feuille, créer les onglets des mois + un sommaire.
>>> j'ai ouvert le VBA, ajouter un module, y ai copié ton code...
>>> A partir de la page Sommaire, j'ai crée un bouton, mais lorsque je
>>> veux
>>> lui
>>> affecter ta macro, je ne la trouve pas...
>>> Je ne suis pas un champion dés qu'il s'agit de vba... je dois donc
>>> rater
>>> un
>>> truc...
>>>
>>> "Philippe.R" a écrit :
>>>
>>>> Bonjour,
>>>> Pour ce faire, on utilisera l'évènement change de la feuille où
>>>> s'affiche le
>>>> résultat, en contrôlant que le changement a bien lieu dans la
>>>> cellule
>>>> concernée (A1 dans l'exemple) ; enfin à l'aide d'un select case,
>>>> afficher la
>>>> feuille désirée
>>>> On aura quelque chose comme :
>>>>
>>>> Private Sub Worksheet_Change(ByVal Target As Range)
>>>> 'MPFE le 10/08/2008
>>>> If Not Intersect(Target, Range("a1")) Is Nothing Then
>>>> zaza = [a1]
>>>> Select Case zaza
>>>> Case Is = 1
>>>> Sheets("Janvier").Select
>>>> Case Is = 2
>>>> Sheets("Février").Select
>>>> Case Is = 3
>>>> Sheets("Mars").Select
>>>> 'et ainsi de suite jusqu'à 12
>>>> End Select
>>>> End If
>>>> End Sub
>>>> --
>>>> Avec plaisir
>>>> http://dj.joss.free.fr/trombine.htm
>>>> http://jacxl.free.fr/mpfe/trombino.html
>>>> Philippe.R
>>>> Pour se connecter au forum :
>>>> http://www.excelabo.net/mpfe/connexion.php
>>>> News://news.microsoft.com/microsoft.public.fr.excel
>>>> "PLG" a écrit dans le message de
>>>> news:
>>>> > Bonjour à tous
>>>> > Je souhaiterais à partir d'un résultat qui s'affiche, lancer une
>>>> > macro qui
>>>> > m'ouvrira un onglet.
>>>> > Exemple :
>>>> > En A1, si le résultat affiché est 3, je lance la macro, celle-ci
>>>> > m'ouvrira
>>>> > l'onglet nommé "Mars". En fait les résultats affichés seront de 1
>>>> > à
>>>> > 12,
>>>> > les
>>>> > onglets à ouvrir, Janvier à Décembre.
>>>> >
>>>> > Merci de votre collaboration et bonne (journée, soirée, nuit... à
>>>> > choisir)
>>>>
>>>>
>>
>
>






Avatar
PLG
Merci pour les adresses.
Je connaissais toutefois l'incontournable Excelabo...!
A un de ces 4... sait on jamais....

"Philippe.R" a écrit :

Quelques liens pour t'aider à t'y coller (hormis la lecture régulière de ce
forum)
http://www.excelabo.net/excel/pap-vba.php
http://www.excelabo.net/excel/pap-userform.php
http://www.gaboly.com/VBA/IntroVBA.html
http://jacxl.free.fr/cours_xl/accueil_vba.html
Bonne lecture
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"PLG" a écrit dans le message de
news:
> Merci pour ton explication.... faut vraiment que je m'y colle...!
> Je ne sais pas trop par où commencer, mais bon.... je trouverais bien !
>
> Bonne continuation sur le forum ( excellent, d'ailleurs !)
>
> "Philippe.R" a écrit :
>
>> Re,
>> La première procédure proposée (private...) est une procédure
>> évènementielle
>> à placer dans le module de la feuille (celui qui s'ouvre quand on double
>> clic sur le nom de la feuille dans l'explorateur d'objets de VBE) ;
>> elle réagit automatiquement à tout changement de valeur de la cellule A1
>> de
>> cette feuille.
>> --
>> Avec plaisir
>> http://dj.joss.free.fr/trombine.htm
>> http://jacxl.free.fr/mpfe/trombino.html
>> Philippe.R
>> Pour se connecter au forum :
>> http://www.excelabo.net/mpfe/connexion.php
>> News://news.microsoft.com/microsoft.public.fr.excel
>> "PLG" a écrit dans le message de
>> news:eyAaNsv%
>> > Philippe, je te remercie, cela marche très bien !
>> > Simple, mais exactement ce qu'il me fallait !
>> > Si tu passes par là, quelle est la différence entre les 2 codes, et
>> > surtout entre: Sub choix_feuille() et Private Sub.....
>> > choix_feuille, étant le nom de la macro, ça j'avais compris...
>> >
>> > Bonne journée à toi et merci encore !
>> >
>> > "Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
>> > news:
>> > Oph%23n7u%
>> >> Re,
>> >> Pour affecter le code à un bouton et pouvoir le lancer de n'importe
>> >> quel
>> >> endroit du classeur, il sera préférable de procèder comme suit :
>> >> Copier dans ton module la procédure ci dessous (oublie l'autre) :
>> >>
>> >> sub choix_feuille
>> >> 'MPFE le 10/08/2008
>> >> Select Case [zaza]
>> >> Case Is = 1
>> >> Sheets("Janvier").Select
>> >> Case Is = 2
>> >> Sheets("Février").Select
>> >> Case Is = 3
>> >> Sheets("Mars").Select
>> >> Case Is = 4
>> >> Sheets("Avril").Select
>> >> Case Is = 5
>> >> Sheets("Mai").Select
>> >> Case Is = 6
>> >> Sheets("Juin").Select
>> >> Case Is = 7
>> >> Sheets("Juillet").Select
>> >> Case Is = 8
>> >> Sheets("Aout").Select
>> >> Case Is = 9
>> >> Sheets("Septembre").Select
>> >> Case Is = 10
>> >> Sheets("Octobre").Select
>> >> Case Is = 11
>> >> Sheets("Novembre").Select
>> >> Case Is = 12
>> >> Sheets("Décembre").Select
>> >> End Select
>> >> end sub
>> >>
>> >> nommer zaza la cellule qui accueille le numéro du mois (dans la
>> >> feuille
>> >> sommaire si j'ai compris
>> >> --
>> >> Avec plaisir
>> >> http://dj.joss.free.fr/trombine.htm
>> >> http://jacxl.free.fr/mpfe/trombino.html
>> >> Philippe.R
>> >> Pour se connecter au forum :
>> >> http://www.excelabo.net/mpfe/connexion.php
>> >> News://news.microsoft.com/microsoft.public.fr.excel
>> >> "PLG" a écrit dans le message de
>> >> news:
>> >>> Bonjour Philippe et merci de ta réponse.
>> >>> Je dois rater un truc...
>> >>> J'ai ouvert une feuille, créer les onglets des mois + un sommaire.
>> >>> j'ai ouvert le VBA, ajouter un module, y ai copié ton code...
>> >>> A partir de la page Sommaire, j'ai crée un bouton, mais lorsque je
>> >>> veux
>> >>> lui
>> >>> affecter ta macro, je ne la trouve pas...
>> >>> Je ne suis pas un champion dés qu'il s'agit de vba... je dois donc
>> >>> rater
>> >>> un
>> >>> truc...
>> >>>
>> >>> "Philippe.R" a écrit :
>> >>>
>> >>>> Bonjour,
>> >>>> Pour ce faire, on utilisera l'évènement change de la feuille où
>> >>>> s'affiche le
>> >>>> résultat, en contrôlant que le changement a bien lieu dans la
>> >>>> cellule
>> >>>> concernée (A1 dans l'exemple) ; enfin à l'aide d'un select case,
>> >>>> afficher la
>> >>>> feuille désirée
>> >>>> On aura quelque chose comme :
>> >>>>
>> >>>> Private Sub Worksheet_Change(ByVal Target As Range)
>> >>>> 'MPFE le 10/08/2008
>> >>>> If Not Intersect(Target, Range("a1")) Is Nothing Then
>> >>>> zaza = [a1]
>> >>>> Select Case zaza
>> >>>> Case Is = 1
>> >>>> Sheets("Janvier").Select
>> >>>> Case Is = 2
>> >>>> Sheets("Février").Select
>> >>>> Case Is = 3
>> >>>> Sheets("Mars").Select
>> >>>> 'et ainsi de suite jusqu'à 12
>> >>>> End Select
>> >>>> End If
>> >>>> End Sub
>> >>>> --
>> >>>> Avec plaisir
>> >>>> http://dj.joss.free.fr/trombine.htm
>> >>>> http://jacxl.free.fr/mpfe/trombino.html
>> >>>> Philippe.R
>> >>>> Pour se connecter au forum :
>> >>>> http://www.excelabo.net/mpfe/connexion.php
>> >>>> News://news.microsoft.com/microsoft.public.fr.excel
>> >>>> "PLG" a écrit dans le message de
>> >>>> news:
>> >>>> > Bonjour à tous
>> >>>> > Je souhaiterais à partir d'un résultat qui s'affiche, lancer une
>> >>>> > macro qui
>> >>>> > m'ouvrira un onglet.
>> >>>> > Exemple :
>> >>>> > En A1, si le résultat affiché est 3, je lance la macro, celle-ci
>> >>>> > m'ouvrira
>> >>>> > l'onglet nommé "Mars". En fait les résultats affichés seront de 1
>> >>>> > à
>> >>>> > 12,
>> >>>> > les
>> >>>> > onglets à ouvrir, Janvier à Décembre.
>> >>>> >
>> >>>> > Merci de votre collaboration et bonne (journée, soirée, nuit... à
>> >>>> > choisir)
>> >>>>
>> >>>>
>> >>
>> >
>> >
>>
>>




Avatar
Francois L
PLG a écrit :

Re,

Bon, pas sur le forum cet après-midi !

Si j'ai bien compris, tu as trouvé la solution avec Philippe... si non
reviens par ici, j'essaierai de te faire une explication plus pédago.

--
François L


Bon, bèh... même après avoir mangé ( c'est peut-être pire d'ailleurs... )
j'ai beau faire ce que tu me dis.... rien ne se passe !
Le bouton en lui même, ce n'est pas trop grave !
En fait ce qui me plairait d'avantage, c'est comme je te le disais, pouvoir
créer un bouton et y affecter ta macro.
Hors, elle a point de nom et ne la trouve pas....!
Je veux pouvoir me servir de ton code.... n'importe où....

C'est dur de ne pas maîtriser le vba... va falloir que je m'y colle un jour
!!!
Ne te prends pas le chou avec moi, il faudrait presque que je communique
direct... le forum va avoir marre de mes demandes, en plus ce n'est qu'avec
toi !

Encore merci...

"Francois L" a écrit dans le message
de news: %23a8N74s%
PLG a écrit :

Re,

Le bouton vient de la barre d'outils "contrôles". Ouvres le classeur,
avec les macros activées bien sur. Dans la barre d'outils contrôles,
cliques sur l'icone avec une équerre bleue pour passer en mode
modification.

Si tu fais un double clic sur le bouton, tu verras apparaitre le code qui
lui est attaché.

Pour que ça fonctionne, il faut bien sur ensuite re cliquer sur l'équerre
pour sortir du mode modification.

--
François L

.... petit problème !!!
François Help !
Comment je peux me servir de ton code...!?
Si je veux l'affecter à un bouton... ta macro n'apparaît pas....
Elle n'a pas de nom ?
Et ton bouton c'est quoi ? Un clic droit dessus est inopérant.
Là tu m'as largué !

"PLG" a écrit :

Cette fois, c'est nickel-chrome... comme je souhaitais
Je vais de ce pas mettre en application ton code.
Merci et très bonne journée à toi

"Francois L" a écrit :

PLG a écrit :

Re,

Alors comme ça :
http://cjoint.com/?ikk6LiCGQj

Le code est du coup dans un module et non plus dans une feuille.

--
François L

Bonjour François et merci, merci aussi de la promptitude !
Ce code ma plait bien, je vais le conserver.
Mais, j'aurais souhaité ne pas aller directement sur l'onglet
souhaité, mais y aller moi même en cliquant sur un bouton.
.... jamais content ces clients....!!!


"Francois L" a écrit dans le
message de news: eK8$Qzr%
PLG a écrit :

Bonjour,

Dans la feuille ou tu choisis ton mois, le code :
'----------------------------------------------------------------
Option Base 1

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Mois = Array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", _
"Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre")
Myval = [A1]
Sheets(Mois(Myval)).Activate
End If
End Sub
'------------------------------------------------------------------

Attention, les noms des feuilles doivent être écrits de la même
manière que dans le Array.

Exemple en PJ


http://cjoint.com/?ikjPbUjG7p


--
François L


Bonjour à tous
Je souhaiterais à partir d'un résultat qui s'affiche, lancer une
macro qui m'ouvrira un onglet.
Exemple :
En A1, si le résultat affiché est 3, je lance la macro, celle-ci
m'ouvrira l'onglet nommé "Mars". En fait les résultats affichés
seront de 1 à 12, les onglets à ouvrir, Janvier à Décembre.

Merci de votre collaboration et bonne (journée, soirée, nuit... à
choisir)


















Avatar
PLG
Bonsoir François et mille excuses, je n'avais pas vu que tu m'avais laissé un
pt'it mot sympa...!
C'est vrai que Philippe m'a " pondu" un truc dans mes cordes...!
Merci pour ta proposition d'explications plus pédagos.... t'es patient
aussi...?
(O:}

Allez, encore merci à toi... et peut être à++

"Francois L" a écrit :

PLG a écrit :

Re,

Bon, pas sur le forum cet après-midi !

Si j'ai bien compris, tu as trouvé la solution avec Philippe... si non
reviens par ici, j'essaierai de te faire une explication plus pédago.

--
François L


> Bon, bèh... même après avoir mangé ( c'est peut-être pire d'ailleurs... )
> j'ai beau faire ce que tu me dis.... rien ne se passe !
> Le bouton en lui même, ce n'est pas trop grave !
> En fait ce qui me plairait d'avantage, c'est comme je te le disais, pouvoir
> créer un bouton et y affecter ta macro.
> Hors, elle a point de nom et ne la trouve pas....!
> Je veux pouvoir me servir de ton code.... n'importe où....
>
> C'est dur de ne pas maîtriser le vba... va falloir que je m'y colle un jour
> !!!
> Ne te prends pas le chou avec moi, il faudrait presque que je communique
> direct... le forum va avoir marre de mes demandes, en plus ce n'est qu'avec
> toi !
>
> Encore merci...
>
> "Francois L" a écrit dans le message
> de news: %23a8N74s%
>> PLG a écrit :
>>
>> Re,
>>
>> Le bouton vient de la barre d'outils "contrôles". Ouvres le classeur,
>> avec les macros activées bien sur. Dans la barre d'outils contrôles,
>> cliques sur l'icone avec une équerre bleue pour passer en mode
>> modification.
>>
>> Si tu fais un double clic sur le bouton, tu verras apparaitre le code qui
>> lui est attaché.
>>
>> Pour que ça fonctionne, il faut bien sur ensuite re cliquer sur l'équerre
>> pour sortir du mode modification.
>>
>> --
>> François L
>>
>>> .... petit problème !!!
>>> François Help !
>>> Comment je peux me servir de ton code...!?
>>> Si je veux l'affecter à un bouton... ta macro n'apparaît pas....
>>> Elle n'a pas de nom ?
>>> Et ton bouton c'est quoi ? Un clic droit dessus est inopérant.
>>> Là tu m'as largué !
>>>
>>> "PLG" a écrit :
>>>
>>>> Cette fois, c'est nickel-chrome... comme je souhaitais
>>>> Je vais de ce pas mettre en application ton code.
>>>> Merci et très bonne journée à toi
>>>>
>>>> "Francois L" a écrit :
>>>>
>>>>> PLG a écrit :
>>>>>
>>>>> Re,
>>>>>
>>>>> Alors comme ça :
>>>>> http://cjoint.com/?ikk6LiCGQj
>>>>>
>>>>> Le code est du coup dans un module et non plus dans une feuille.
>>>>>
>>>>> --
>>>>> François L
>>>>>
>>>>>> Bonjour François et merci, merci aussi de la promptitude !
>>>>>> Ce code ma plait bien, je vais le conserver.
>>>>>> Mais, j'aurais souhaité ne pas aller directement sur l'onglet
>>>>>> souhaité, mais y aller moi même en cliquant sur un bouton.
>>>>>> .... jamais content ces clients....!!!
>>>>>>
>>>>>>
>>>>>> "Francois L" a écrit dans le
>>>>>> message de news: eK8$Qzr%
>>>>>>> PLG a écrit :
>>>>>>>
>>>>>>> Bonjour,
>>>>>>>
>>>>>>> Dans la feuille ou tu choisis ton mois, le code :
>>>>>>> '----------------------------------------------------------------
>>>>>>> Option Base 1
>>>>>>>
>>>>>>> Private Sub Worksheet_Change(ByVal Target As Range)
>>>>>>> If Not Intersect(Target, Range("A1")) Is Nothing Then
>>>>>>> Mois = Array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", _
>>>>>>> "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre")
>>>>>>> Myval = [A1]
>>>>>>> Sheets(Mois(Myval)).Activate
>>>>>>> End If
>>>>>>> End Sub
>>>>>>> '------------------------------------------------------------------
>>>>>>>
>>>>>>> Attention, les noms des feuilles doivent être écrits de la même
>>>>>>> manière que dans le Array.
>>>>>>>
>>>>>>> Exemple en PJ
>>>>>>>
>>>>>>>
>>>>>>> http://cjoint.com/?ikjPbUjG7p
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> François L
>>>>>>>
>>>>>>>
>>>>>>>> Bonjour à tous
>>>>>>>> Je souhaiterais à partir d'un résultat qui s'affiche, lancer une
>>>>>>>> macro qui m'ouvrira un onglet.
>>>>>>>> Exemple :
>>>>>>>> En A1, si le résultat affiché est 3, je lance la macro, celle-ci
>>>>>>>> m'ouvrira l'onglet nommé "Mars". En fait les résultats affichés
>>>>>>>> seront de 1 à 12, les onglets à ouvrir, Janvier à Décembre.
>>>>>>>>
>>>>>>>> Merci de votre collaboration et bonne (journée, soirée, nuit... à
>>>>>>>> choisir)
>
>



1 2