Calendrier déroulant dans les cellules d'une colonne XL

Julia_74 Messages postés 20 Date d'inscription mardi 30 septembre 2014 Statut Membre Dernière intervention 5 mars 2015 - 5 mars 2015 à 08:03
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 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

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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 ?
0
Julia_74 Messages postés 20 Date d'inscription mardi 30 septembre 2014 Statut Membre Dernière intervention 5 mars 2015
5 mars 2015 à 08:43
Bonjour,
Oui c'est tout à fait ça.
Pour lier, je vais dans les propriétés du calendrier créé et dans "linked" je mets ma cellule...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
Rejoignez-nous