Macro avec boîte de dialogue et emploi du temps

Costian

XLDnaute Nouveau
Bonjour à tous,

Je n'ai que de très vagues notions en macro, mais là c'est bien au dessus de mes capacités...

Voici mon soucis :
sous Excel, je dois gérer un emploi du temps sur plusieurs jours, pour plusieurs équipe, et concernant plusieurs pôles d'un festival (cf. fichier joint).
Ce que je souhaiterai, c'est créer une macro qui lorsque je l'active ouvre une boite de dialogue me demandant quelle est la date de la nouvelle entrée que je souhaite créer, pour quel pôle (roading, billetterie, bars...) et enfin l'heure de début et l'heure de fin.

Pour illustrer ma demande, dans le cas du fichier "exemple" joint à ce message, une fois la macro lancée j'aurai demander de créer une plage de cellules en date du jeudi, pour le pôle vestiaire, de 11h à 14h... et j'aurai obtenu la sélection de couleur orange F23:F28 (on se fout ici de la couleur, c'est juste pour illustrer).

J'espère n'avoir rien oublié.
Je vous remercie par avance de votre précieuse aide...

Costian
 

Pièces jointes

  • Exemple.xls
    19 KB · Affichages: 203
  • Exemple.xls
    19 KB · Affichages: 208
  • Exemple.xls
    19 KB · Affichages: 208

hellnar

XLDnaute Junior
Re : Macro avec boîte de dialogue et emploi du temps

Bonsoir,

Si on prend la demande au pied de la lettre, c'est tout un logiciel qu'il faut créer et donc avoir beaucoup plus d'indications; que veut dire "plusieurs", 2, 3 ou 100 ?

S'il s'agit seulement de mettre de la couleur sur quelques cellules en fonction de la demande, ne pas prendre une macro pour écraser une mouche !! Il suffit de sélectionner les cellules et de les mettre en couleur comme sur un planning manuel ?
Donc où est le vrai problème ? Pourquoi pas simplement une base de données avec un tableau croisé ?
Et juste un conseil ne pas fusionner les cellules.
 

bbb38

XLDnaute Accro
Re : Macro avec boîte de dialogue et emploi du temps

Bonjour Costian, le forum,
En attendant une solution par macro, un essai par liste déroulante et une mise en forme conditionnelle, dans l’espoir d’avoir compris ta demande.
Cordialement,
Bernard
 

Pièces jointes

  • Costian_Exemple.xls
    33.5 KB · Affichages: 211

Costian

XLDnaute Nouveau
Re : Macro avec boîte de dialogue et emploi du temps

Bonjour à tous et au forum,

Et merci pour vos deux réponses...

@hellnar : en effet, vu comme cela et en relisant mon post, je me rends compte que ma demande peut paraitre bien plus "évoluée" que ce qu'il n'y parait.... En fait, pas besoin de logiciel, je ne demande rien d'aussi poussé ! Ce que je voudrait, c'est une macro qui, lorsqu'on lui dit "vestiaire" aille regarder les titres des colonnes du fichier et identifie que c'est la colonne F, puis on lui dit "16h" et elle a automatiquement les coordonnées de la cellule en question : F33 (dans mon exemple, pas celui de bbb38). Il ne resterai plus qu'à indiquer le laps de temps (1h = 2 lignes ; 4h = 8 lignes) et le tour serait joué...
Je ne pense pas qu'il s'agisse là de quelque chose de très évolué (mais cela dépasse néanmoins tout ce que je sais faire...!), à moins que je n'y comprenne décidément rien du tout en macro !! lol !!
Qu'en penses-tu ?

@bbb38 : Bernard, je te remercie de ta réponse et de ta proposition...
Intéressant cette possibilité de liste déroulante invisible si la case n'est pas sélectionnée... Jusqu'à présent je faisais cela avec les zones de listes déroulantes de la barre d'outil "formulaires" et c'est vrai que ce n'est pas beau d'avoir toutes les zones combinées qui s'affichent comme ça... Comment fais-tu cela ?
Pour en revenir à mon exemple, le problème est que les équipes ne sont pas fixes et sont composées de binômes ou trinômes qui vont changer constamment. Je voudrai alors que dans les cases ne s'inscrivent pas les numéros des équipes et surtout qu'une couleur corresponde au pôle en question et non à l'équipe....

Merci à vous deux,
Costian
 

hellnar

XLDnaute Junior
Re : Macro avec boîte de dialogue et emploi du temps

Bonjour,

Si ce n'est pas plus compliqué, on peut faire la chose suivante :
Une page sur laquelle il y a des menus déroulants (feuille Infos), et une macro simple qui traduit ces informations dans le tableau des plannings.
Par contre, tu ne réponds pas à la question du nombre de jours par exemple qui sont concernés. Quelques jours identifiés ou une semaine, plusieurs semaines etc.

Retrouver la colonne qui correspond à une activité est une macro très simple. On peut utiliser une fonction comme EQUIV() qui donnera le numéro de la colonne. Or ce résultat peut être lu par VBA et t'amener sur la bonne colonne.
Cf. exemple joint.
Quelques mots sur les corrections faites :
Nommer les onglets, nommer les cellules utilisées, ne pas fusionner les cellules
Les listes de validations dans la feuille information sont liées aux noms des colonnes.
J'ai prévu plusieurs jours...

La macro peut se déclencher plus automatiquement qu'en cliquant sur le bouton.
A toi de perfectionner tout cela...
 

Pièces jointes

  • Exemple_hellnar.xls
    60.5 KB · Affichages: 224

Costian

XLDnaute Nouveau
Re : Macro avec boîte de dialogue et emploi du temps

Merci Hellnar pour t'être à nouveau penché sur mon problème...
Le nombre de jour importait peu pour moi, étant donné que je souhaiterais lancer la macro par un bouton qui ne concernerait que le jour auquel il est rattaché (en fait, dans mon fichier final, il y aura un jour par page et donc un bouton par jour). Dans le fichier que j'ai envoyé, il aurait en fait fallu que je ne mette que le jeudi, ne nous embarrassons pas des autres jours.
Une fois ce bouton activé, ce que je voudrais idéalement est que cela lance une boite de dialogue où l'on puisse saisir le pôle concerné, l'heure de début et l'heure de fin (ou la durée, peu importe) et que donc cela sélectionne et colore les cases en question...
Faisable selon toi ?

Merci de ton aide
 

bbb38

XLDnaute Accro
Re : Macro avec boîte de dialogue et emploi du temps

Bonjour Costian, le forum,

Une autre idée. Colorier les cellules en cliquant simplement sur celles-ci.
En attendant une macro avec une boîte de dialogue.
Cordialement,
Bernard

P.S. Phlaurent55 : Je vois que tu apprécies mes annotations. Compte tenu de ta passion, j’espère que tu ne m’attribueras pas la cuillère de bois.
 

Pièces jointes

  • Costian_Exemple_2.xls
    29 KB · Affichages: 169

Costian

XLDnaute Nouveau
Re : Macro avec boîte de dialogue et emploi du temps

Bernard, merci de tes réponses...

Oui, colorer les cases avec le remplissage, ça, je sais faire ;-)
Mais la couleur est vraiment ce qui m'importe le moins dans ce tableau là... il s'agit juste d'un petit plus, mais le principal pour moi est bien la macro avec les boites de dialogue..

J'essaie d'avancer un peu seul, en fouinant par-ci par-là sur le forum, mais jusqu'ici je ne suis arrivé qu'à créer un userform avec une liste déroulante me permettant de choisir quel pôle est concerné... Mais je bataille pour qu'une fois le pôle choisi, je sois renvoyé à une autre boite de dialogue me demandant cette fois les horaires et pour combiner le tout...
 

hellnar

XLDnaute Junior
Re : Macro avec boîte de dialogue et emploi du temps

Bonjour,

Les userform sont toujours assez délicats à gérer car il faut traiter l'enregistrement puis le traitement et l'écriture dans Excel.
Il me semble toujours plus simple de faire une base de données avec des listes de validation car ensuite on conserve cette information historique.
L'exemple que je donnais n'était qu'une démonstration, on peut faire mieux sans ce userform.
Mais il me semble que cela te tient à coeur... parce que cela semble plus professionnel ?

Enfin pour répondre, ton userform peut être multipage, chaque page avec une type d'information demandée.
Sinon tu mets plusieurs boites sur la même page.
 

Costian

XLDnaute Nouveau
Re : Macro avec boîte de dialogue et emploi du temps

Oui, hellnar, la présentation est importante dans ce cas-là.
Je ne veux pas (idéalement, bien sûr...) de listes et d'onglets qui viennent polluer le fichier. D'où ma volonté que la macro propose une liste déroulante avec comme choix les titres des pôles (eux, par contre, je les ais déjà sous forme de liste dans un onglet précédent, que je n'ai pas mis dans le fichier exemple) et ainsi de suite avec les horaires.

Ce que j'ai fait jusqu'à présent :

Private Sub UserForm_Initialize()

Sheets("POLES BENEVOLES").Activate
Range([A4], [A20].End(xlUp)).Select 'c'est là que se trouve ma liste des pôles
For Each Cell In Selection
Me.ComboBox1.AddItem Cell
Next Cell
Sheets("PLANNING BENEVOLES").Activate

End Sub

Tout cela en ayant auparavant créé un userform avec une liste déroulante.
Malheureusement, premier problème : lorsque je teste le userform, il m'affiche bien la boite de dialogue avec la liste déroulante, mais il n'y a qu'un seul choix de possible, le pôle "roading" et la liste s'arrête là. Impossible d'intégrer les autres pôles à la liste... Une astuce ?
 

Costian

XLDnaute Nouveau
Re : Macro avec boîte de dialogue et emploi du temps

P.S. : j'ai failli oublié : est-ce que vous auriez la gentillesse de m'expliquer comment rendre les combobox visibles uniquement lorsqu'on sélectionne une cellule, comme dans le premier exemple de Bernard...?
Merci !
 

hellnar

XLDnaute Junior
Re : Macro avec boîte de dialogue et emploi du temps

Voilà une réponse plus complète selon le modèle que je propose.
Il suffit dans la feuille menu de sélectionner sur la dernière ligne les valeurs demandées,
jour, heure, durée, etc... dans les menus de validation.
Une fois cela entrée, cliquer sur le bouton transparent qui se trouve sur la ligne de champ (première ligne).
L'écriture se fait automatiquement.

L'avantage est que l'on conserve l'historique de toutes les opérations.

A suivre...

P.S. je viens de voir les questions précédentes... J'y réfléchis ...
 

Pièces jointes

  • Exemple_hellnar 2.xls
    67 KB · Affichages: 170

bbb38

XLDnaute Accro
Re : Macro avec boîte de dialogue et emploi du temps

Bonjour Costian, le forum,

Pour essayer de répondre à ton message 11 :
Tu définis un nom pour la liste des noms (sur mon exemple : feuille : base), puis tu cliques sur Insertion/Nom/Définir. Tu sélectionnes la plage de cellules représentant ta liste.
Tu sélectionnes les cellules sur laquelle tu désires obtenir la liste déroulante (sur mon exemple : feuille : planning), puis tu cliques sur Données/Validation/Options. Dans Autoriser, tu indiques Liste ; dans Source, tu précises le nom que tu as défini pour ta liste.
Comme je ne suis pas certain de pouvoir travailler sur ton projet au cours de cette journée, je t’adresse l’avancement de mes travaux. N’hésites pas à me faire par de tes remarques pour pouvoir terminer.
Cordialement,
Bernard
 

Pièces jointes

  • Costian_Exemple_3.xls
    54.5 KB · Affichages: 165

Discussions similaires

Statistiques des forums

Discussions
311 727
Messages
2 081 962
Membres
101 852
dernier inscrit
dthi16088