Autres Menu déroulant saisie prédictive

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

  • ECHANTILLON TEST.xlsx
    63.5 KB · Affichages: 12

Dudu2

XLDnaute Barbatruc
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
 

Quicksland

XLDnaute Occasionnel
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

  • ECHANTILLON (4).xlsm
    115.3 KB · Affichages: 1

Quicksland

XLDnaute Occasionnel

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:D10 et la liste en colonne A de la feuille LISTES

Merci d'avance pour ton aide
 

Pièces jointes

  • gestion pot.xlsm
    76.2 KB · Affichages: 3

Dudu2

XLDnaute Barbatruc
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)
 

Pièces jointes

  • gestion pot.xlsm
    94.2 KB · Affichages: 2

Quicksland

XLDnaute Occasionnel
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:rolleyes:

Je te remercie ;)
 

Dudu2

XLDnaute Barbatruc
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

  • gestion pot.xlsm
    96.8 KB · Affichages: 3

Dudu2

XLDnaute Barbatruc
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.
 

Quicksland

XLDnaute Occasionnel
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👍
 

Quicksland

XLDnaute Occasionnel
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
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Menu déroulant
Réponses
3
Affichages
216