Proposition de saisie dans une liste déroulante

CG29

XLDnaute Junior
Bonjour,

Je dois alimenter un tableau (Feuille 1) par l’intermédiaire d’une base de données (Feuille BD). Je dois donc rentrer dans la feuille 1 le matricule qui va permettre de renseigner les autres cellules avec la fonction Recherche V.

Je voudrai qu’on ne puisse saisir que des matricules existant dans la base. Peut-imaginer que si je tape 1 il me propose dans une liste tous les matricules qui comment par un 1 !

Exemple : Je tape 1 : Il me propose au sein d’une liste 1000 – 102500

Je tape 3 il me propose 30 et 320

Pouvez-vous m’expliquer la procédure ?

Merci d’avance,
 

Pièces jointes

  • TableauRI_Complementaire.xls
    36 KB · Affichages: 67
  • TableauRI_Complementaire.xls
    36 KB · Affichages: 72
  • TableauRI_Complementaire.xls
    36 KB · Affichages: 72

CG29

XLDnaute Junior
Re : Proposition de saisie dans une liste déroulante

Sauf que dans ce cas, l'agent doit choisir dans la lsite déroulante.

La plage des matricules sera énorme de 1 à 100000 donc pourquoi j'avais si tu tapes la première lettre il te renvoie les chiffres pouvant correspondrent.

Merci de vos aides,
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Proposition de saisie dans une liste déroulante

Je pensais passer par un combobox qui serait rendu visible en sélectionnant une cellule de la colonne A.
Mais je n'arrive pas à lui faire comprendre qu'un chiffre tapé dont entrer dans la dite combobox et non dans la barre de formule.
Alors ce sera carrément un Userform muni de la combobox, là je suis sûr que ça marchera.

P.S. un premier jet
 

Pièces jointes

  • TableauRI_Complementaire.xls
    70.5 KB · Affichages: 103
  • TableauRI_Complementaire.xls
    70.5 KB · Affichages: 112
  • TableauRI_Complementaire.xls
    70.5 KB · Affichages: 108
Dernière édition:

CG29

XLDnaute Junior
Re : Proposition de saisie dans une liste déroulante

Génial,

Peux-ton faire en sorte de bloquer la saie d'autres matricules qui ne sont pas dans la liste ?

Et surtout peux-tu m'explqiuer la procédure pour arriver à ce résultat ?

Merci bcp,
 

Dranreb

XLDnaute Barbatruc
Re : Proposition de saisie dans une liste déroulante

Alt+F11 pour aller dans VBA
Demandez s'il y a lieu l'affichage de l'explorateur de projet.
Cliquez 2 fois sur UfSaisieMat dans l'explorateur de projet, il vous emmènera à la fenêtre de conception de la feuille (UserForm).
Demandez l'affichage du code, ou mieux cliquez 2 fois sur mon bouton "Ok".
Modifiez comme suit la procédure BtOk_Click
VB:
Private Sub BtOk_Click()
If Me.CbxSaisie.ListIndex >= 0 Then
   Cel.Value = Me.CbxSaisie.Text
   Me.Hide
Else
   MsgBox "Saisie incorrecte", vbExclamation, Me.Caption
   End If
End Sub
Je me suis aussi aperçu d'un problème dans la procédure précédente: elle ne marche plus bien quand on fait défiler les lignes. Correction:
VB:
Public Sub Afficher(Cellule As Range)
Set Cel = Cellule
Me.CbxSaisie.Text = Cel.Value
Me.Top = Cel.Top - ActiveWindow.VisibleRange.Top + 65
Me.Show
End Sub
Bonne soirée.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 372
Messages
2 087 714
Membres
103 650
dernier inscrit
YuLo