Calendrier déroulant dans les cellules d'une colonne XL
Julia_74
Messages postés20Date d'inscriptionmardi 30 septembre 2014StatutMembreDernière intervention 5 mars 2015
-
5 mars 2015 à 08:03
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
5 mars 2015 à 21:25
Bonjour à tous,
Je suis confrontée à un problème.
Je voudrais que pour toutes les cellules d'une colonne , on puisse dérouler un calendrier afin de choisir la date de façon plus visuelle. Si j'arrive à le faire pour une cellule (Microsoft office date and time control picker et linked à la cellule), je n'arrive pas à l'appliquer à toute la colonne (et le faire cellule après cellule pour 300 cellules, impossible ...)
Serait-il possible de me conseiller sur la démarche à adopter au niveau de VBA ? J'ai trouvé pas mal d'exemples mais applicables au "control calendar" qui n'existe pas sur ma version d'excel et que je ne peux rajouter ( version du boulot ) . A la rigueur, j'ai le monthviews également.
Merci à vous tous,
Cordialement
Julia
A voir également:
Calendrier déroulant dans les cellules d'une colonne XL
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 5 mars 2015 à 08:36
Bonjour,
Si j'ai bien compris, tu parviens à ce que tu veux pour une cellule à laquelle tu adjoins un DTPicker.
C'est cela ?
Si oui : comment lies-tu actuellement ce contrôle à ta cellule ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 Modifié par ucfoutu le 5/03/2015 à 10:16
Ce n'est pas ainsi, qu'il est astucieux de procéder.
On ne va tout de même pas s'amuser à envahir de dtpickers !
Je n'ai_ pas ce contrôle dtpicker, mais peu importe. Je vais te montrer un exemple de ce qui peut être fait. Dans cet exemple, je vais utiliser une textbox nommée textbox1, que je place n'importe où sur la feuille de calcul et dont je mets la propriété visible à false.
Avec ce code :
Private Sub TextBox1_Change() ActiveCell = TextBox1.Text End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) With TextBox1 If Target.Column = 2 Then .Left = Target.Left .Top = Target.Top .Text = Target.Value .Visible = True Else .Visible = False End If End With End Sub
Essaye maintenant de saisir dans n'importe quelle cellule de la colonne 2 (la colonne B) ===>> tu vas vite comprendre
Voilà ===>> fais la même chose avec ton dtpicker (un seul pour toutes tes cellules). C'est très facile. Et ne lie pas ton dtpicker à quelque cellule que ce soit
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 Modifié par ucfoutu le 6/03/2015 à 06:35
Je crois devoir saisir cette occasion pour tenter de mettre un terme à des errements indus trop souvent constatés.
Certains contrôles n'ont pas vocation à servir de stockage d'une donnée, mais simplement à faciliter la saisie d'une donnée.
Tel est précisément le cas d'un contrôle Calendar, Montview, Dtpicker, etc ...(bien d'autres)
C'est également souvent le cas en ce qui concerne le contrôle Timer.
Dès lors : une application utilisant un DtPicker ne devrait en utiliser qu'UN SEUl (ce n'est qu'un outil pour saisir une date). La saisie faite à l'aide de cet outil n'est pas à conserver dans ce contrôle, mais dans un contrôle beaucoup moins onéreux (Label, cellule, textbox si nécessaire, etc ...), voire, dans certains cas, dans une simple variable.
Dit autrement et plus clairement et simplement : si l'on a une trentaine de vis identiques à visser, on n'utilise pas 30 tournevis, mais 30 fois le même (et donc un seul).
Vous viendrait-il à l'idée, si vous avez une centaine de calculs à faire, de mettre en oeuvre 100 calculettes et de les laisser sous tension pour y lire vos 100 résultats ? ===>> non, n'est-ce pas ? Vous feriez vos 100 calculs à l'aide d'une seule calculette et consigneriez chacun des 100 résultats quelque-part ailleurs.
Voilà tout.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend