OVH Cloud OVH Cloud

combobox et feuille

10 réponses
Avatar
JEAN
Bonjour,

Je voudrai créer un userforms avec un combobox la dessus, ou j'aurai toutes
mes feuilles sur ce combobox.
a savoir j'ai un programme vba qui me permet de créer a chaque date une
nouvelle feuille(onglet).
les autres feuilles ne m'interresse pas.
Je voudrai afficher les feuilles qui sont créer simultanement et cacher les
autres
exemple:

J'ai mes trois feuille dans exel, sur le feuille1 si je suis en janvier en
pointant sur un bouton de commande dans la feuille1 j'aurai donc une feuille
qui se nommera automatiquement Janvier, si je sui en fevrrier et j'ouvre mon
fichier j'aurai systematiquement en appuyant sur le bouton de commande de la
feuille 1 une autre feuille qui s'appellerai fevrier.

je veux au fait que mon combobox s'allimente suivant les feuilles creer.
au fait dans mon combobox si je suis en mars 2005, je ne verrai que
feuillejanvier 2005 et feuille fevrier 2005.
et ainsi de suite, si je suis en avril, je verrai dans mon combobox janvier
2005 fevrier 2005 et mars 2005

et ainsi de suite.

merci de votre aide

10 réponses

Avatar
michdenis
Bonjour Jean,

Ta question a plusieurs volets. Tu parles de 2 objets différents : Combobox et les Boutons dans ta feuille.

Essaie de limiter ta question à un objet particulier, cela va t'aider à la formulation de ta question. Si tu n'as pas
beaucoup de bonnes réponses c'est que les répondeurs ne comprennent pas ta question.

À partir de ta question, je te donne un exemple des questions que tu devrais te poser à propos des actions que devraient
exécuter ton bouton de commande siuté dans tes feuilles. Quand tu poses une question à propos de ton bouton de commande,
tu dois inclure TOUTES les actions que celui-ci doit accomplir dans la même question même si ce bouton doit faire 1, 5
ou 8 petites actions différentes. Le répondeur a besoin de la liste complète des actions pour être capable de mettre les
lignes de code dans un ordre chronologique. Exemple, tu ne peux pas donner le nom à une feuille si tu ne l'as pas déjà
ajoutée.

Quand tu cliques sur ton bouton, énumère la liste complète des actions que ce bouton doit accomplir . Je t'ai faite
quelques suggestions... Retiens et ajoute toutes les actions que toi tu veux que ton bouton fasse. Je veux bien tenter
de traduire ces actions en code ...seulement et seulement si tu décris clairement ce que tu désires. Si tu prends le
temps de reformuler ta question, j'essaierai d'y répondre !

1 ) créer une nouvelle feuille

2 ) Donner un nom à la nouvelle feuille : Quel nom doit porter cette feuille ? Impossible d'avoir 2 feuilles ayant le
même nom dans le même classeur .

3 ) Que doit-il se passer si l'usager décide de cliquer une deuxième, une troisième fois ... sur le bouton ? Dois-tu
ajouter une nouvelle feuille à chaque fois ? Il y a-t-il des actions que tu veux faire à chaque fois que l'usager
clique sur le bouton autre que de créer une nouvelle feuille, si oui, quelles sont ces actions ?

3 ) Est-ce que ton bouton doit copier des données ou résultats existants de ton classeur dans ta nouvelle feuille ? à
quoi sert ta nouvelle feuille à ton programme ? Que doit contenir ta nouvelle feuille ? Qu'est-ce l'usager est supposé
faire avec la nouvelle feuille ?

4 ) À chaque fois que tu vas ajouter une nouvelle feuille, Est-ce que tu dois masquer une autre feuille ? Afficher un
autre feuille ?

5 ) Comme ta nouvelle feuille n'est sûrement pas listé dans ton combobox, est-ce que tu veux ajouter son nom dans la
liste du combobox de ton formulaire ? Est-ce que tu désires que la liste des nom des feuilles affichée dans ton
combobox soient remise en ordre alphabétique après chaque ajout d'un nouveau nom de feuille à la liste ?

6 ) Il y a-t-il d'autres actions que ce bouton doit faire et que je n'ai pas énuméré ? Si oui, quelles sont-elles ?


Salutations!







"JEAN" a écrit dans le message de news:

Bonjour,

Je voudrai créer un userforms avec un combobox la dessus, ou j'aurai toutes
mes feuilles sur ce combobox.
a savoir j'ai un programme vba qui me permet de créer a chaque date une
nouvelle feuille(onglet).
les autres feuilles ne m'interresse pas.
Je voudrai afficher les feuilles qui sont créer simultanement et cacher les
autres
exemple:

J'ai mes trois feuille dans exel, sur le feuille1 si je suis en janvier en
pointant sur un bouton de commande dans la feuille1 j'aurai donc une feuille
qui se nommera automatiquement Janvier, si je sui en fevrrier et j'ouvre mon
fichier j'aurai systematiquement en appuyant sur le bouton de commande de la
feuille 1 une autre feuille qui s'appellerai fevrier.

je veux au fait que mon combobox s'allimente suivant les feuilles creer.
au fait dans mon combobox si je suis en mars 2005, je ne verrai que
feuillejanvier 2005 et feuille fevrier 2005.
et ainsi de suite, si je suis en avril, je verrai dans mon combobox janvier
2005 fevrier 2005 et mars 2005

et ainsi de suite.

merci de votre aide
Avatar
Rai
Bonsoir,

Réponse pour une partie de ta question :

Ci-après une macro qui te crée automatiquement une nouvelle feuille chaque mois. Cette macro fonctionne pendant 12 mois, quel que soit le mois de départ (pratique pour gérer un exercice comptable ...). Comme ça tu n'as pas besoin de gérer un bouton 'création de nouvelle feuille'.

Le code est à insérer dans 'ThisWorkbook'
Private Sub Workbook_Open()

mois = MonthName(Month(Date))

For Each s In Sheets
If s.Name = mois Then
f = True
Exit For
End If
Next s

If Not (f) Then
Sheets.Add After:=Worksheets(Worksheets.Count)
Sheets(Worksheets.Count).Name = mois
End If

End Sub

Pour alimenter la combobox de ta userform, sachant que te feuilles portent le nom des mois, tu peux procéder comme suit :
(à placer dans l'évennement 'initialize' de ta USF)

Private Sub UserForm_Initialize()
debut = 1 'si tu as 1 feuille avant tes feuilles de mois. sinon mettre le nombre de feuilles concernées
For i = debut + 1 To Worksheets.Count
If Sheets(i).Index < Sheets(MonthName(Month(Date))).Index Then
ComboMois.AddItem Sheets(i).Name
End If
Next i
End Sub


Bonne soirée

Rai


"JEAN" a écrit dans le message de news:
Bonjour,

Je voudrai créer un userforms avec un combobox la dessus, ou j'aurai toutes
mes feuilles sur ce combobox.
a savoir j'ai un programme vba qui me permet de créer a chaque date une
nouvelle feuille(onglet).
les autres feuilles ne m'interresse pas.
Je voudrai afficher les feuilles qui sont créer simultanement et cacher les
autres
exemple:

J'ai mes trois feuille dans exel, sur le feuille1 si je suis en janvier en
pointant sur un bouton de commande dans la feuille1 j'aurai donc une feuille
qui se nommera automatiquement Janvier, si je sui en fevrrier et j'ouvre mon
fichier j'aurai systematiquement en appuyant sur le bouton de commande de la
feuille 1 une autre feuille qui s'appellerai fevrier.

je veux au fait que mon combobox s'allimente suivant les feuilles creer.
au fait dans mon combobox si je suis en mars 2005, je ne verrai que
feuillejanvier 2005 et feuille fevrier 2005.
et ainsi de suite, si je suis en avril, je verrai dans mon combobox janvier
2005 fevrier 2005 et mars 2005

et ainsi de suite.

merci de votre aide


Avatar
Rai
Bonsoir,

Réponse pour une partie de ta question :

Ci-après une macro qui te crée automatiquement une nouvelle feuille chaque mois. Cette macro fonctionne pendant 12 mois, quel que soit le mois de départ (pratique pour gérer un exercice comptable ...). Comme ça tu n'as pas besoin de gérer un bouton 'création de nouvelle feuille'.

Le code est à insérer dans 'ThisWorkbook'
Private Sub Workbook_Open()

mois = MonthName(Month(Date))

For Each s In Sheets
If s.Name = mois Then
f = True
Exit For
End If
Next s

If Not (f) Then
Sheets.Add After:=Worksheets(Worksheets.Count)
Sheets(Worksheets.Count).Name = mois
End If

End Sub

Pour alimenter la combobox de ta userform, sachant que te feuilles portent le nom des mois, tu peux procéder comme suit :
(à placer dans l'évennement 'initialize' de ta USF)

Private Sub UserForm_Initialize()
debut = 1 'si tu as 1 feuille avant tes feuilles de mois. sinon mettre le nombre de feuilles concernées
For i = debut + 1 To Worksheets.Count
If Sheets(i).Index < Sheets(MonthName(Month(Date))).Index Then
ComboMois.AddItem Sheets(i).Name
End If
Next i
End Sub


Bonne soirée

Rai

"JEAN" a écrit dans le message de news:
Bonjour,

Je voudrai créer un userforms avec un combobox la dessus, ou j'aurai toutes
mes feuilles sur ce combobox.
a savoir j'ai un programme vba qui me permet de créer a chaque date une
nouvelle feuille(onglet).
les autres feuilles ne m'interresse pas.
Je voudrai afficher les feuilles qui sont créer simultanement et cacher les
autres
exemple:

J'ai mes trois feuille dans exel, sur le feuille1 si je suis en janvier en
pointant sur un bouton de commande dans la feuille1 j'aurai donc une feuille
qui se nommera automatiquement Janvier, si je sui en fevrrier et j'ouvre mon
fichier j'aurai systematiquement en appuyant sur le bouton de commande de la
feuille 1 une autre feuille qui s'appellerai fevrier.

je veux au fait que mon combobox s'allimente suivant les feuilles creer.
au fait dans mon combobox si je suis en mars 2005, je ne verrai que
feuillejanvier 2005 et feuille fevrier 2005.
et ainsi de suite, si je suis en avril, je verrai dans mon combobox janvier
2005 fevrier 2005 et mars 2005

et ainsi de suite.

merci de votre aide


Avatar
michdenis
Bonjour Jean,

Ta question a plusieurs volets. Tu parles de 2 objets différents : Combobox et les Boutons dans ta feuille.

Essaie de limiter ta question à un objet particulier, cela va t'aider à la formulation de ta question. Si tu n'as pas
beaucoup de bonnes réponses c'est que les répondeurs ne comprennent pas ta question.

À partir de ta question, je te donne un exemple des questions que tu devrais te poser à propos des actions que devraient
exécuter ton bouton de commande situé dans tes feuilles. Quand tu poses une question à propos de ton bouton de commande,
tu dois inclure TOUTES les actions que celui-ci doit accomplir dans la même question même si ce bouton doit faire 1, 5
ou 8 petites actions différentes. Le répondeur a besoin de la liste complète des actions pour être capable de mettre les
lignes de code dans un ordre chronologique. Exemple, tu ne peux pas donner le nom à une feuille si tu ne l'as pas déjà
ajoutée.

Quand tu cliques sur ton bouton, énumère la liste complète des actions que ce bouton doit accomplir . Je t'ai faite
quelques suggestions... Retiens et ajoute toutes les actions que toi tu veux que ton bouton fasse. Je veux bien tenter
de traduire ces actions en code ...seulement et seulement si tu décris clairement ce que tu désires. Si tu prends le
temps de reformuler ta question, j'essaierai d'y répondre !

1 ) créer une nouvelle feuille

2 ) Donner un nom à la nouvelle feuille : Quel nom doit porter cette feuille ? Impossible d'avoir 2 feuilles ayant le
même nom dans le même classeur .

3 ) Que doit-il se passer si l'usager décide de cliquer une deuxième, une troisième fois ... sur le bouton ? Dois-tu
ajouter une nouvelle feuille à chaque fois ? Il y a-t-il des actions que tu veux faire à chaque fois que l'usager
clique sur le bouton autre que de créer une nouvelle feuille, si oui, quelles sont ces actions ?

3 ) Est-ce que ton bouton doit copier des données ou résultats existants de ton classeur dans ta nouvelle feuille ? à
quoi sert ta nouvelle feuille à ton programme ? Que doit contenir ta nouvelle feuille ? Qu'est-ce l'usager est supposé
faire avec la nouvelle feuille ?

4 ) À chaque fois que tu vas ajouter une nouvelle feuille, Est-ce que tu dois masquer une autre feuille ? Afficher un
autre feuille ?

5 ) Comme ta nouvelle feuille n'est sûrement pas listé dans ton combobox, est-ce que tu veux ajouter son nom dans la
liste du combobox de ton formulaire ? Est-ce que tu désires que la liste des nom des feuilles affichée dans ton
combobox soient remise en ordre alphabétique après chaque ajout d'un nouveau nom de feuille à la liste ?

6 ) Il y a-t-il d'autres actions que ce bouton doit faire et que je n'ai pas énuméré ? Si oui, quelles sont-elles ?


Salutations!





"JEAN" a écrit dans le message de news:

Bonjour,

Je voudrai créer un userforms avec un combobox la dessus, ou j'aurai toutes
mes feuilles sur ce combobox.
a savoir j'ai un programme vba qui me permet de créer a chaque date une
nouvelle feuille(onglet).
les autres feuilles ne m'interresse pas.
Je voudrai afficher les feuilles qui sont créer simultanement et cacher les
autres
exemple:

J'ai mes trois feuille dans exel, sur le feuille1 si je suis en janvier en
pointant sur un bouton de commande dans la feuille1 j'aurai donc une feuille
qui se nommera automatiquement Janvier, si je sui en fevrrier et j'ouvre mon
fichier j'aurai systematiquement en appuyant sur le bouton de commande de la
feuille 1 une autre feuille qui s'appellerai fevrier.

je veux au fait que mon combobox s'allimente suivant les feuilles creer.
au fait dans mon combobox si je suis en mars 2005, je ne verrai que
feuillejanvier 2005 et feuille fevrier 2005.
et ainsi de suite, si je suis en avril, je verrai dans mon combobox janvier
2005 fevrier 2005 et mars 2005

et ainsi de suite.

merci de votre aide
Avatar
Denis Michon
Bonjour Jean,

Ta question a plusieurs volets. Tu parles de 2 objets différents : Combobox et les Boutons dans ta feuille.

Essaie de limiter ta question à un objet particulier, cela va t'aider à la formulation de ta question. Si tu n'as pas
beaucoup de bonnes réponses c'est que les répondeurs ne comprennent pas ta question.

À partir de ta question, je te donne un exemple des questions que tu devrais te poser à propos des actions que devraient
exécuter ton bouton de commande situé dans tes feuilles. Quand tu poses une question à propos de ton bouton de commande,
tu dois inclure TOUTES les actions que celui-ci doit accomplir dans la même question même si ce bouton doit faire 1, 5
ou 8 petites actions différentes. Le répondeur a besoin de la liste complète des actions pour être capable de mettre les
lignes de code dans un ordre chronologique. Exemple, tu ne peux pas donner le nom à une feuille si tu ne l'as pas déjà
ajoutée.

Quand tu cliques sur ton bouton, énumère la liste complète des actions que ce bouton doit accomplir . Je t'ai faite
quelques suggestions... Retiens et ajoute toutes les actions que toi tu veux que ton bouton fasse. Je veux bien tenter
de traduire ces actions en code ...seulement et seulement si tu décris clairement ce que tu désires. Si tu prends le
temps de reformuler ta question, j'essaierai d'y répondre !

1 ) créer une nouvelle feuille

2 ) Donner un nom à la nouvelle feuille : Quel nom doit porter cette feuille ? Impossible d'avoir 2 feuilles ayant le
même nom dans le même classeur .

3 ) Que doit-il se passer si l'usager décide de cliquer une deuxième, une troisième fois ... sur le bouton ? Dois-tu
ajouter une nouvelle feuille à chaque fois ? Il y a-t-il des actions que tu veux faire à chaque fois que l'usager
clique sur le bouton autre que de créer une nouvelle feuille, si oui, quelles sont ces actions ?

3 ) Est-ce que ton bouton doit copier des données ou résultats existants de ton classeur dans ta nouvelle feuille ? à
quoi sert ta nouvelle feuille à ton programme ? Que doit contenir ta nouvelle feuille ? Qu'est-ce l'usager est supposé
faire avec la nouvelle feuille ?

4 ) À chaque fois que tu vas ajouter une nouvelle feuille, Est-ce que tu dois masquer une autre feuille ? Afficher un
autre feuille ?

5 ) Comme ta nouvelle feuille n'est sûrement pas listé dans ton combobox, est-ce que tu veux ajouter son nom dans la
liste du combobox de ton formulaire ? Est-ce que tu désires que la liste des nom des feuilles affichée dans ton
combobox soient remise en ordre alphabétique après chaque ajout d'un nouveau nom de feuille à la liste ?

6 ) Il y a-t-il d'autres actions que ce bouton doit faire et que je n'ai pas énuméré ? Si oui, quelles sont-elles ?


Salutations!

P.S. Désolé si le message arrive en double ! Problème de serveur !



"JEAN" a écrit dans le message de news:

Bonjour,

Je voudrai créer un userforms avec un combobox la dessus, ou j'aurai toutes
mes feuilles sur ce combobox.
a savoir j'ai un programme vba qui me permet de créer a chaque date une
nouvelle feuille(onglet).
les autres feuilles ne m'interresse pas.
Je voudrai afficher les feuilles qui sont créer simultanement et cacher les
autres
exemple:

J'ai mes trois feuille dans exel, sur le feuille1 si je suis en janvier en
pointant sur un bouton de commande dans la feuille1 j'aurai donc une feuille
qui se nommera automatiquement Janvier, si je sui en fevrrier et j'ouvre mon
fichier j'aurai systematiquement en appuyant sur le bouton de commande de la
feuille 1 une autre feuille qui s'appellerai fevrier.

je veux au fait que mon combobox s'allimente suivant les feuilles creer.
au fait dans mon combobox si je suis en mars 2005, je ne verrai que
feuillejanvier 2005 et feuille fevrier 2005.
et ainsi de suite, si je suis en avril, je verrai dans mon combobox janvier
2005 fevrier 2005 et mars 2005

et ainsi de suite.

merci de votre aide
Avatar
Rai
En double ??
Tu parles !

En triple, oui !
Comme quoi tu arrives toujours à faire plus fort ;o))
(tu peux le prendre comme un compliment réel venant de ma part)

"Denis Michon" a écrit dans le message de news: 9x3qd.248250$
Bonjour Jean,


P.S. Désolé si le message arrive en double ! Problème de serveur !



Avatar
michdenis
Bonjour Rai,

Je ne vois pourtant qu'un message !


Salutations!


"Rai" a écrit dans le message de news: 41a8c780$0$822$
En double ??
Tu parles !

En triple, oui !
Comme quoi tu arrives toujours à faire plus fort ;o))
(tu peux le prendre comme un compliment réel venant de ma part)

"Denis Michon" a écrit dans le message de news: 9x3qd.248250$
Bonjour Jean,


P.S. Désolé si le message arrive en double ! Problème de serveur !



Avatar
Rai
Mmmh, les lignes de communciation auraient-elles gelées à la hauteur du St-Laurent ?
Pourtant il ne fait pas ben frette à Montréal, 2° quand même en ce moment.

-----

Blague à part, par le biais de ce bon vieux serveur de Wanadoo on voit 3 fois ton message.
Mais l'histoire ne dit pas si c'est ton FAI ou si c'est Wanadoo, ou encore même une société tierce qui ne fait pas bien sa job.

Bonne après-midi quand même Denis,
et au plaisir de te lire prochainnement dans les colonnes de MPFE.

Rai


"michdenis" a écrit dans le message de news:
Bonjour Rai,

Je ne vois pourtant qu'un message !


Salutations!


"Rai" a écrit dans le message de news: 41a8c780$0$822$
En double ??
Tu parles !

En triple, oui !
Comme quoi tu arrives toujours à faire plus fort ;o))
(tu peux le prendre comme un compliment réel venant de ma part)



Avatar
Clément Marcotte
Bonjour,

Parlant de "frette"; Via-Rail Canada, une sorte de SNCF, a acheté des
wagons usagés en Angleterre, wagons qui, semble-t-il, étaient
invendables n'importe où en Europe.

Ces chers (dans les deux sens du mot) wagons n'étaient pas adaptés à
l'hiver canadien, ont du être rénovés à coûts de millions.

Entre autres, ils ne sont pas, ou n'étaient pas, suffisamment isolés;
si bien qu'un train a du faire une pause en chemin pour permettre aux
passagers d'aller à la toilette. Celles du train étaient inutilisable
parce que la plomberie était gelée à cause du froid.

Même après de coûteuses réparations, les portes laissent toujours
passer la neige.


"Rai" a écrit dans le message de
news:41a8cbb3$0$31669$
Mmmh, les lignes de communciation auraient-elles gelées à la hauteur
du St-Laurent ?
Pourtant il ne fait pas ben frette à Montréal, 2° quand même en ce
moment.

-----

Blague à part, par le biais de ce bon vieux serveur de Wanadoo on voit
3 fois ton message.
Mais l'histoire ne dit pas si c'est ton FAI ou si c'est Wanadoo, ou
encore même une société tierce qui ne fait pas bien sa job.

Bonne après-midi quand même Denis,
et au plaisir de te lire prochainnement dans les colonnes de MPFE.

Rai


"michdenis" a écrit dans le message de news:

Bonjour Rai,

Je ne vois pourtant qu'un message !


Salutations!


"Rai" a écrit dans le message de
news: 41a8c780$0$822$

En double ??
Tu parles !

En triple, oui !
Comme quoi tu arrives toujours à faire plus fort ;o))
(tu peux le prendre comme un compliment réel venant de ma part)



Avatar
Rai
Bonsoir Clément,

Décidément, les achats chez Elisabeth ne vous portent pas chance.
Entre ces fameux wagons, et les dernier sous-marins ... ça fait beaucoup.

Il faudra p'tet que la partie anglophone pense à enlever les portraits de la Queen qui pendent un peu partout (par ex. dans les ferrys Vancouver-Victoria). ;o))

J'ai passé 6 mois par chez vous, et je dois avouer que votre belle contrée et ses habitants sympas me manquent terriblement.

A bientôt.

Rai


"Clément Marcotte" a écrit dans le message de news: %
Bonjour,

Parlant de "frette"; Via-Rail Canada, une sorte de SNCF, a acheté des
wagons usagés en Angleterre, wagons qui, semble-t-il, étaient
invendables n'importe où en Europe.

Ces chers (dans les deux sens du mot) wagons n'étaient pas adaptés à
l'hiver canadien, ont du être rénovés à coûts de millions.

Entre autres, ils ne sont pas, ou n'étaient pas, suffisamment isolés;
si bien qu'un train a du faire une pause en chemin pour permettre aux
passagers d'aller à la toilette. Celles du train étaient inutilisable
parce que la plomberie était gelée à cause du froid.

Même après de coûteuses réparations, les portes laissent toujours
passer la neige.