Affecter à une zone texte d'un formulaire, un calendrier ou

Chers amis,

Mon souci est toujours le même : je voudrais de la même manière que cela se fait avec "Validation des données", pour les listes de choix à une ou plusieurs cellules, affecter une liste de choix avec sélection obligatoire pour remplissage, à une zone de texte d'un formulaire UserForm.

J'aimerais connaître un moyen facile de le faire, d'autant que je ne suis qu'un apprenti en VBA. En fait, comme je le disais plus haut, un moyen aussi simple (autant que possible) que le principe d'utilisation de "Validation des données" pour l'affectation des listes de choix prédéfinis, dans une autre feuille par exemple, avec une plage nommée et étant justement la liste devant servir de référence.

Je vous remercie de votre disponibilité et de votre attention.

Très amicalement, Xavier.

la zone s'appelle choix ...

Salut Steelson,

C'est toujours une joie de te retrouver.

Merci pour ta réponse : c'est exactement ce que je cherche ! Mais, voudrais-tu m'aider, s'il et plaît, à ce que je puisse faire de telle sorte à ce que le choix se fasse depuis une zone intégrée dans un formulaire ?

Quel type de contrôle j'insère dans mon formulaire, et comment j'y rattache les listes (calendrier de 2015, en entier, compris) prédéfinis qui sont dans ma feuille excel ?

Xav.

Je ne suis pas sûr d'avoir tout compris ... mets nous un bout de fichier avec les données (tu parles de calendrier ?) etc ... et quelques notas dedans de ce que tu souhaites.

Bien entendu !

Je te fais parvenir, en fichier joint, une ébauche de ce que je cherche à obtenir.

Tu constateras que c'est encore incomplet !

Il me reste à compléter (si cela s'avère nécessaire et qu'il n'est pas possible de l'obtenir automatiquement) le calendrier exhaustif de 2015, et à rajouter dans mon userform une zone "Opérateur" à sélectionner, selon la liste prédéfinie que tu verras dans la feuille des listes. Je ne l'ai pas encore fait, vu que je n'arrive même pas à faire sélectionner, à travers le UserForm, la date qui doit paraitre sur la cellule visée. Je voudrais qu'elle soit sélectionnée du calendrier, et non saisie manuellement.

Mon problème est donc, de comprendre comment créer (en ayant la possibilité de faire des modifications), intégrer et rattacher les listes prédéfinies (dans la feuille des listes) dans le UserForm, tel que je l'ai élaboré.

Si tu trouvais mon procédé rudimentaire ou inadéquat, je serai très heureux de prendre en compte tes conseils et recommandations.

Merci de ta patience.

Xav.


Cher Steelson,

Juste une précision : c'est sur la Feuil1 que les données du formulaire sont censées s'écrire. Je me suis, peut-être, emmêlé les pédales.

Merci.

Xav.

Cher Steelson,

Je crois que je suis arrivé à ce que ce soit la "Feuil1" qui s'active et soit visible, au moment du remplissage du formulaire.

C'est malheureusement tout ce que je suis arrivé à faire.

Je t'envoie les dernières rectifications.

Xav.

J'ai mis les dates en menu déroulant, mais il faudra faire varier selon le mois en cours

Et puisque le userform s'ouvrait au lancement, je l'ai fait ouvrir sur la Feuil1

edit = je n'ai pas lu ton envoi intermédiaire

Steelson,

C'est super, tout est ok !

Je me demande juste comment tu as fait pour que le choix d'une date soit correctement repris.

Chaque fois que j'ai essayé cela, j'obtenais tout de suite une espèce de conversion en nombre. Je n'y comprenais rien. Tu sais pourquoi ?

Xav.

Juste en complément du message précédent, Steelson, je suis vraiment perplexe là !

Je me demande, en plus de ce que j'ai écrit dans le message précédent, comment tu as fait pour ne pas avoir à remplir la propriété "RowSource" de la ComboBox ? C'est un véritable mystère pour moi ! Suis-je aussi ignorant ?

Ce serait sympathique de ta part de me fixer, un minimum, sur ton procédé.

Surtout, je te remercie pour tous tes efforts.

Très sincèrement, Xavier.

xlake a écrit :

comment tu as fait pour ne pas avoir à remplir la propriété "RowSource" de la ComboBox ? C'est un véritable mystère pour moi ! Suis-je aussi ignorant ?

Tiens, je dois faire de la prose sans le savoir ! c'est vrai que c'est une piste que je n'explore jamais ! en fait je programme un événement "initialize", mais tu as raison il doit y avoir plus simple !

Steelson,

Je t'en prie, fais-moi partager ta méthode de sorte à ce que je puisse l'utiliser.

1. Je n'arrive pas à ce que les dates soient écrites sans être converties en nombre, du genre : "400017" !

2. Par ailleurs : "initialize" (dont tu as parlé), qu'est-ce que cela permet-il de faire que j'aurais dû ?

Pourrais-tu, s'il te plaît, me donner quelques tuyaux, que je puisse profiter de ton expérience ?

Je me suis tellement attardé sur la propriété "RowSource". Je me demande comment tu as fait pour passer outre !?

Merci à toi.

Xavier.

Xavier,

tout ce que j'ai fait, c'est remplacer la textbox par un combobox et écrit cette portion de macro

Private Sub UserForm_Initialize()
Dim cellule As Range
    For Each cellule In Sheets("Feuil2").Range("dates")
        ComboBox1.AddItem cellule.Value
    Next
End Sub

à vrai dire, je ne me suis même pas préoccupé du format !

En suivant ta piste, j'ai essayé de mettre "dates" dans rowsource de la combobox, et cela fonctionne aussi très bien !

Steelson,

Merci pour tes informations.

Tu as résolu mon problème, et je t'en sais gré.

A très bientôt.

Xavier.

Rechercher des sujets similaires à "affecter zone texte formulaire calendrier"