Autres Menu déroulant saisie prédictive

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Quicksland

XLDnaute Occasionnel
Bonsoir a tous

je souhaiterai avoir une liste déroulante avec saisie prédictive dans plusieurs cellules ( de C10 a C20 et de C31 a C41 )

actuellement il y a une liste déroulante mais vu le nombres de ligne dans a liste source ce n'est pas pratique

merci de votre aide 👍
 

Pièces jointes

Si bien sûr.
Il faut bien en premier lieu intercepter le double-clic, puis lancer le Calendrier et finalement valoriser la cellule de la date choisie. Rien ne se fait par la pensée.

Dans Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean):
VB:
'Saisie de date
If Not Intersect(Target, Me.Range(AdresseCelluleDate)) Is Nothing Then
    Cancel = True
    DateSaisie = Calendrier(AfficheJoursFériés:=True)
    If DateSaisie <> 0 Then Me.Range(AdresseCelluleDate) = DateSaisie
End If
 
Si bien sûr.
Il faut bien en premier lieu intercepter le double-clic, puis lancer le Calendrier et finalement valoriser la cellule de la date choisie. Rien ne se fait par la pensée.

Dans Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean):
VB:
'Saisie de date
If Not Intersect(Target, Me.Range(AdresseCelluleDate)) Is Nothing Then
    Cancel = True
    DateSaisie = Calendrier(AfficheJoursFériés:=True)
    If DateSaisie <> 0 Then Me.Range(AdresseCelluleDate) = DateSaisie
End If
Bonjour Dudu2
je reviens vers toi car j'ai un petit soucis

Serait il possible que la date s'affiche dans une cellule fusionner
car la dernière fois tu avais mis la date en cellule C22 et c'est normal car tu n'avais pas l'info de cellule

j'ai changé les cellules mais comme c'est des cellules fusionnées cela fonctionne pas (C7:E8 et C28
 

Pièces jointes


Bonjour Dudu2
je te remercie pour ton aide
Ps Jai réussi a transposer ton calendrier dans d'autre fichier c'est super pratique
Merci et bonne semaine
Bonjour Dudu 2

J'ai un petit soucis ...

Pas avec le calendrier mais avec la saisie prédictive
J'ai essayé de mettre ton code ( dans un nouveau fichier mais cela ne fonctionne pas et je ne vois pas ou cela pèche

la saisie se trouve en B9😀10 et la liste en colonne A de la feuille LISTES

Merci d'avance pour ton aide
 

Pièces jointes

Bonjour,
2 choses:
- Il faut lancer le UserForm pour la saisie sur double-clic en B9 (il ne s'affichera pas tout seul)
- Public Const NoColonneListeValeurs = A -> Public Const NoColonneListeValeurs = 1 (c'est un numéro)
Pourtant je suis sur d'avoir essayé les deux A et 1 au bout de Public Const NoColonneListeValeurs
et double cliquer sur la cellule B9 ...

Désolé je ferai plus attention la prochaine fois🙄

Je te remercie 😉
 
Pas de souci.
Autre remarque. Comme les dates de la liste sont bien des dates (formatées en "dd mmmm yyyy") le chargement par le Range rend des dates que la ComboBox va formater en jj/mm/aaaa.

Donc si tu voulais conserver un format avec le mois en texte, je suppose qu'il faudrait passer plutôt par une Table chargée à partir du Range et dont chaque item serait reformaté en "dd mmmm yyyy" et serait traité par la ComboBox comme du texte. La fonction ComboBoxSaisieAssistéeEnter() accepte aussi bien un table (Array) qu'un Range.

De plus en ce cas précis, je mettrais la valeur initiale à vide pour ne pas avoir à l'effacer pour lister toutes les dates directement dans la ComboBox.
 

Pièces jointes

Ou alors, il faudrait que j'améliore la fonction ComboBoxSaisieAssistéeEnter() pour avoir en paramètre d'entrée le format des données à afficher dans la ComboBox. Ou peut-être prendre le format de la cellule cible pour l'appliquer aux données. Ce que je peux faire en effet.
 
Pas de souci.
Autre remarque. Comme les dates de la liste sont bien des dates (formatées en "dd mmmm yyyy") le chargement par le Range rend des dates que la ComboBox va formater en jj/mm/aaaa.

Donc si tu voulais conserver un format avec le mois en texte, je suppose qu'il faudrait passer plutôt par une Table chargée à partir du Range et dont chaque item serait reformaté en "dd mmmm yyyy" et serait traité par la ComboBox comme du texte. La fonction ComboBoxSaisieAssistéeEnter() accepte aussi bien un table (Array) qu'un Range.

De plus en ce cas précis, je mettrais la valeur initiale à vide pour ne pas avoir à l'effacer pour lister toutes les dates directement dans la ComboBox.
J'ai vu mais ça ne me dérange pas 😉

par contre serait 'il possible que je puisse directement écrire dans la cellule B9 sans passer par la

saisie assisté car il y a des prestations unique

Si pas possible ou trop compliquer a faire cela me va déjà très bien comme cela👍
 
Ou alors, il faudrait que j'améliore la fonction ComboBoxSaisieAssistéeEnter() pour avoir en paramètre d'entrée le format des données à afficher dans la ComboBox. Ou peut-être prendre le format de la cellule cible pour l'appliquer aux données. Ce que je peux faire en effet.
Comme tu veux ...
De toute façon je ne suis pas pressé vu les nouvelles règles sanitaire
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
389
Réponses
4
Affichages
834
  • Question Question
Microsoft 365 Tableau
Réponses
24
Affichages
1 K
Réponses
3
Affichages
736
Retour