Operations dans calendrier dynamique

Bonjour,

J'ai crée un calendrier dans lequel je voudrais insérer une opération de maintenance en fonction de la machine.

Malheureusement, je bloque sur la façon dont je pourrais faire bien que j'ai un userform pour pouvoir insérer les opérations.

D'autre part, je n'arrive pas a mettre un choix d'heures dans mon userform.

Je vous remercie d'avance de votre aide

Cordialement

Kevin

33calendrier.xlsm (55.95 Ko)

Bonjour

Ce que j'ai fait n'est pas très élégant, mais cela fonctionne. J'ai d'abord mis pour ces 2 combos la valeur Maxlength à 5 et non 0.

Puis voilà le fichier avec initialisation de l'userform

Je croise les doigts pour toi

Bye

Re

Mieux

A voir

Bye

30calendrierv2.xlsm (45.92 Ko)

Bonjour,

J'ai jeté un petit oeil sur ta réalisation somme toute assez plaisante d'aspect... Une question m'est cependant venue immédiatement, s'agissant d'un planning dans lequel tu as l'intention de naviguer... Je n'ai vu aucune mémorisation de la planification saisie et je me demande donc comment il peut être utilisé... !

Mettons que je planifie des actions sur la semaine du 25/09. Une fois fait, je passe à la semaine du 02/10 : ce que j'ai inscrit va apparemment rester en place ? Rien ne l'efface pour me laisser saisir sur cette nouvelle semaine ! Et si j'efface pour saisir la nouvelle semaine, lorsque je reviens sur la précédente, j'aurai la planification de la suivante...

Ou alors n'est-il prévu que de fonctionner semaine par semaine (le système de navigation devient alors un peu superflu) et d'éliminer à chaque fois la semaine écoulée (encore que pas d'effacement prévu...)

Cela me paraît un point clé dès qu'on me parle de planning... Mais peut-être as-tu prévu un dispositif non encore réalisé...

Au delà de cet aspect, il y a des choses que j'apprécie beaucoup moins en ce qui concerne la réalisation du code :

- 5 modules standard déjà ! avec 3 fois rien comme contenu, là où un seul paraît très largement suffisant pour accueillir les procédures existantes et toutes celles à venir !

Je veux bien admettre qu'à une centaine de procédures dans un module on puisse souhaiter opérer un dédoublement même si aucune autre justification ne plaide en faveur de l'insertion d'un nouveau module... Mais à ce stade, c'est du gaspillage pur, qui génèrera en outre des pertes de temps considérables en obligeant à basculer d'un module à un autre pour ajuster des procédures connexes et liées, qui pourraient même le cas échéant être fusionnées...

- Je passe sur l'indentation, les non déclarations de variables... mais je note comme point éminemment positif que le code n'est pas truffé de Select, on ne s'y sent donc pas étouffer !!!

Pour poursuivre sur un mode positif, je te signalerais (au regard de ta proc. de validation) que la propriété Cells a comme syntaxe : Cells(IndexLigne, IndexColonne). Ces index sont des nombres. Et les nombres ne se mettent jamais entre guillemets (pour demeurer des nombres... et il y a d'ailleurs rarement besoin d'en mettre car tout nombre concaténé à un élément texte deviendra partie intégrante de ce texte). En tout cas, si tu mets les arguments entre guillemets, cela ne peut fonctionner. De même, remplacer l'index de colonne par la lettre de colonne, ça marche (en général... ) mais je conseillerais de l'éviter pour s'en tenir à la syntaxe préconisée.

C'est plus sûr, et cette propriété est faite notamment pour pouvoir parcourir facilement des plages de cellules au moyen de boucles, ce pourquoi les arguments sont des nombres.

Il me semble que tu souhaitais lister tes heures, telles qu'elles figurent dans ton planning ? Voilà un moyen de le faire...

Private Sub UserForm_Initialize()
    Dim tblH(), i%
    With ActiveSheet.Range("K7:K23")
        ReDim tblH(.Rows.Count - 1)
        For i = 1 To .Rows.Count
            tblH(i - 1) = .Cells(i, 1).Text
        Next i
    End With
    ComboBox2.List = tblH
End Sub

Je n'ai pas pris la peine d'inclure la seconde Combo mais il suffit de l'ajouter... Ceci dit, au vu de l'ensemble, comme il s'agit de fixer une plage horaires (ses bornes), j'utiliserais pour ma part des SpinButton (avec affichage en TextBox) qui me paraissent plus faciles à gérer pour cela et plus ergonomiques...

Cordialement.

Rechercher des sujets similaires à "operations calendrier dynamique"