Liste déroulante Excel (saisie 1ères lettres)

Bonsoir

Je cherche à créer une liste déroulante, jusqu'ici pas de soucis!!!! Seulement, la liste est assez importante et je ne souhaite pas descendre l'ascenceur jusqu'en bas à chaque fois de façon manuelle
possible de crée une Liste déroulante Excel (saisie 1ères lettres) ?

Bonjour,

Sans fichier ... voyez le fichier dans ce lien --> https://forum.excel-pratique.com/s/goto/914230
Prenez le fichier Liste_Assurance
Dans la feuille formulaire, cliquez sur H4 puis tapez une lettre dans la cellule (exemple C).
Cliquez ensuite sur la flèche pour voir la liste des items commençant par la lettre C

Cordialement

Bonjour,

Oui, il était trois heures du matin et je cherchais toujours sur Internet , puis après cela, j'ai soulevé mon problème ici et je me suis endormi pendant que j'étais fatigué

Ok maintenant le fichier est inclus dans les pièces jointes

puis-je par exemple

Lorsque je tape le code compta dans la colonne « B » de la feuille « JOURNAL 01-2022 », le nom du fournisseur dans la colonne « C » s’affiche automatiquement, et l’inverse aussi

Deuxième, lorsque je tape le premier numéro du code compta, ou la première lettre du nom fournisseurs, lorsque j'ouvre la liste déroulante, seuls les chiffres ou les noms commençant par la même lettre ou le même chiffre apparaissent.



De plus, la liste montre 8 fournisseurs
Puis-je augmenter le nombre qu’il s’affiche dans la liste ?

Merci d'avance

230jo-facture-achat7.xlsm (105.16 Ko)

Vous avez regardé mon lien et essayé de la mettre en place la liste déroulante au moins ?

Je suis nouveau

J'essaie de comprendre le fichier que vous avez envoyé

mais dans mon dernier message , j'ai d'autre question aussi

Puis-je augmenter le nombre qu’il s’affiche dans la liste ?

oui, bien sûr

Joli fichier !
Il y a pas mal de choses que l'on peut corriger vu que avez des tableaux au format structuré

On va procéder étape par étape pour que vous compreniez.

Point 1 :
- cliquez sur l'onglet LISTE FR
- Allez dans le menu Formules --> Gestionnaire de noms
- supprimez les deux valeurs FR
Point 2 :

- Placez vous sur la feuille Données
- Dans le menu Formules, cliquez sur "Définir un nom"
- Dans nom, mettez --> FR
- Positionnez vous sur "Fait référence à"
- Dans la liste des fournisseurs --> Sélectionnez de A2 à A166

Si vous avez bien sélectionné, vous devriez avoir ceci dans la rubrique "Fait référence à --> =Tableau1[Fournisseurs]

Une fois fait dites moi si ok.
Je vous donnerai les explications suivantes.

Bonsoir,

Bon j'ai fait comme tu ma dit, mais j'ai toujours des problèmes:

01 pour la liste des fournisseurs dans la feuille "JOURNAL 01-2022" Colonne "C", j'ai utiliser cette fonction dans la validation des données:

=DECALER(FR;EQUIV($C$3&"*";FR;)-1;;) comme ça la case elle fonctionner très bien , mais quand j'ai utiliser l'option Alerte d'erreur dans la boite de dialogue " validation des donnée) la case ne fonctionne pas dès que j'ai taper le premier lettre, le message d'erreur elle affiche directement, aussi quand je protéger ma feuille de calcule

02 pour la liste des codes dans la feuille "JOURNAL 01-2022" Colonne "B", j'ai utiliser cette fonction dans la validation des données:

=DECALER(Code;EQUIV($B$3&"*";Code;)-1;;) j'ai eu le message suivant : La source est reconnu comme erroné. Voulez-vous continues ? et la case ne fonctionne pas

d'autre

je vous faire rappel à la suite de ma question

mon but aussi c'est Lorsque je tape le code compta dans la colonne « B » de la feuille « JOURNAL 01-2022 », le nom du fournisseur dans la colonne « C » s’affiche automatiquement, et l’inverse aussi

De plus, la liste montre 8 fournisseurs
Puis-je augmenter le nombre qu’il s’affiche dans la liste ?

voici mon fichier a ce moment

mais quand j'ai utiliser l'option Alerte d'erreur dans la boite de dialogue " validation des donnée) la case ne fonctionne pas dès que j'ai taper le premier lettre, le message d'erreur elle affiche directement, aussi quand je protéger ma feuille de calcule

Avec la méthode que vous voulez vous ne pouvez pas mettre de message d'erreur. C'est une des conditions pour que cela fonctionne. Donc ne mettez pas de message. Si le fournisseur n'existe pas en tapant votre première lettre, vous ne verrez rien dans la liste.
Donc dans l'onglet Alerte d'erreur, vous ne pouvez pas cocher la case "Quand des données non valides sont tapées"

mon but aussi c'est Lorsque je tape le code compta dans la colonne « B » de la feuille « JOURNAL 01-2022 », le nom du fournisseur dans la colonne « C » s’affiche automatiquement, et l’inverse aussi

je regarde pour le code. J'avais pas regardé ce point mais votre titre de sujet parle de lettres et pas de chiffres ...
Mais faire les deux avec cette méthode ??? c'est soit l'un soit l'autre.
Cela paraitrait d'ailleurs plus logique d'avoir le fournisseur que le choix vous affiche le code d'autant que de ce que je vois, avec le choix via le code vous devrez taper au moins 3 caractères..

De plus, la liste montre 8 fournisseurs
Puis-je augmenter le nombre qu’il s’affiche dans la liste ?

Non. c'est figé par excel. Vous devez faire défiler la liste

Bonsoir

"Avec la méthode que vous voulez vous ne pouvez pas mettre de message d'erreur. C'est une des conditions pour que cela fonctionne. Donc ne mettez pas de message. Si le fournisseur n'existe pas en tapant votre première lettre, vous ne verrez rien dans la liste.
Donc dans l'onglet Alerte d'erreur, vous ne pouvez pas cocher la case "Quand des données non valides sont tapées"

mais moi je donner ce fichier pour le service d'achat pour le remplir, alors je veux pas lui y laisser la main de saisi un nom d'un fournisseur qu'il existe pas dans la liste

le message d'erreur je le besoin

Bonjour,

Merci d'utiliser l'icone "citation" dans la barre de menu lorsque vous postez une partie du message de la personne qui vous a répondu.
Pour les codes vous avez cette icône code (</>). En cliquant sur cette icône vous pouvez poster votre code dans la fenêtre

mais moi je donner ce fichier pour le service d'achat pour le remplir, alors je veux pas lui y laisser la main de saisi un nom d'un fournisseur qu'il existe pas dans la liste
le message d'erreur je le besoin

Ok alors vous avez deux solutions :
- Dans la liste de validation, vous pouvez mettre un message de saisie qui apparaitra une fois que vous cliquez dans la cellule. Cela informe l'utilisateur qu'il doit choisir dans la liste.
- on peut utiliser une macro qui vous signale que vous devez utiliser la liste existante

Dites moi si ok et je vous poste le code que j'ai préparé

Autre point : je vous propose de mettre une formule dans la colonne B, qui une fois le fournisseur choisi, vous donnera le code FRS correct.

Bonjour

Merci d'utiliser l'icone "citation" dans la barre de menu lorsque vous postez une partie du message de la personne qui vous a répondu.

Je vous remercie pour cette information,

- on peut utiliser une macro qui vous signale que vous devez utiliser la liste existante

Oui bien sur , mais est_ce que cette macro peut allez à l'interdiction de saisie quelque chose ou un autre nom qu'il n'existe pas dans la liste fournisseurs ?

Bon pour la police de la liste déroulante , j'ai utiliser une macro qui fonctionne pour agrandir la liste déroulante dès le premier clic sur la case puis revient telle qu'elle a été une fois confirmée la validation du choix

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect(Range("ListeNom"), Target) Is Nothing And Target.Count = 1 Then
    ActiveWindow.Zoom = 160
 Else
    ActiveWindow.Zoom = 100
  End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
  ActiveWindow.Zoom = 100
End Sub

aussi pour la collons "B" j'ai utiliser la fonction RECHERCHEV

=SIERREUR(RECHERCHEV(C3;Tableau1;3;FAUX);"")

ceci le fichier après quelque modification

Evitez de placer un fichier chaque fois que vous avez un modification, cela ne fait qu'alourdir le forum inutilement
Avec vos explications je peux adapter celui que j'ai en travail

mais est_ce que cette macro peut allez à l'interdiction de saisie quelque chose ou un autre nom qu'il n'existe pas dans la liste fournisseurs ?

C'est le but. Voici le code

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig As Integer
Dim plageFRS As Range

If Target.Count > 1 Then Exit Sub
If Target.Value = vbNullString Then Exit Sub

On Error Resume Next
ActiveWindow.Zoom = 100

If Not Intersect(Target, ListObjects("Tableau4").ListColumns(3).DataBodyRange) Is Nothing Then
    If Err.Number > 0 Then Exit Sub

    Set plageFRS = Sheets("Liste FRS").ListObjects("Tableau1").ListColumns(1).DataBodyRange

    lig = plageFRS.Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole).Row
    If lig = 0 Then MsgBox "Le fournisseur n'existe pas !"
End If
End Sub

Le code doit être placé dans la feuille Journal. Si vous avez l'intention de créer d'autres feuille Journal, il faudra procéder autrement dans les codes de votre feuille
Le code proposé remplace le code worksheet_change que vous avez dans le fichier posté.

Dans cette feuille, vous pouvez supprimer la ligne TOTAL (donc la ligne 23) puis une fois supprimée faire ceci :
- Click dans une cellule du tableau
- Allez dans le menu excel --> Onglet "Création du tableau"
- Dans la rubrique "option style du tableau", cochez la case "Ligne Total"
- Allez sur la ligne créée, allez dans les colonnes où vous voulez avoir une formule et remettez votre formule

Rem : pensez à aller cloturer vos fils ouverts

Bonjour

Oui pour cet code , sa marche bien, le message

"Le fournisseur n'existe pas !"

il sa-fiche, mais après la validation, le nom inexistant dans la cellule est accepté

il sa-fiche, mais après la validation, le nom inexistant dans la cellule est accepté

Je me doutais que vous alliez revenir avec cette question....

remplacez cette ligne dans le code

    If lig = 0 Then MsgBox "Le fournisseur n'existe pas !": Target.ClearContents

Point suivant : avez-vous remplacé la ligne Total comme je vous suggérais ?

Je me doutais que vous alliez revenir avec cette question....

Malheureusement je suis toujours en retours

malgré votre code maintenant il marche comme je veux , merci merci beaucoup

je constate un autre souci, d’après internet c'est les paramètre de la protection imposer par excel lui même

notre projet d'une liste déroulante saisie la première lettre ne fonctionne pas quand la feuille été protégée

je constate un autre souci, d’après internet c'est les paramètre de la protection imposer par excel lui même

notre projet d'une liste déroulante saisie la première lettre ne fonctionne pas quand la feuille été protégée

Changez peut être cette macro comme ceci

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect(Range("LISTEZOOM"), Target) Is Nothing And Target.Count = 1 Then
    ActiveWindow.Zoom = 200
    ActiveSheet.Unprotect "votre mot de passe"
 Else
    ActiveWindow.Zoom = 100
    ActiveSheet.Protect "votre mot de passe"
  End If
End Sub

Oui , sa marche bien, je voir que à la sélection d'une cellule dans la zone LISTEZOOM, la feuille être déverrouillée, et juste quand je change la cellule le verrouillage et activé

If lig = 0 Then MsgBox "Le fournisseur n'existe pas !": Target.ClearContents

alors il reste que l’intégration de ce code avec le code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect(Range("LISTEZOOM"), Target) Is Nothing And Target.Count = 1 Then
    ActiveWindow.Zoom = 200
    ActiveSheet.Unprotect "votre mot de passe"
 Else
    ActiveWindow.Zoom = 100
    ActiveSheet.Protect "votre mot de passe"
  End If
End Sub

Bonjour

Oui , sa marche bien, je voir que à la sélection d'une cellule dans la zone LISTEZOOM, la feuille être déverrouillée, et juste quand je change la cellule le verrouillage et activé

Puisque vous dites que cela fonctionne pourquoi voulez-vous intégrer cette ligne (If lig = 0 then ....) dans votre code ?
Cela n'a pas de sens et cela ne veut rien dire.
Vous devez utiliser les deux codes tout simplement. Donc le Worksheet Selection_change et le Worksheet Change

Rem : Comme déjà dit hier...https://forum.excel-pratique.com/s/goto/1084314 pensez à aller cloturer tous vos fils ouverts. On y gagne chacun

Oui sa marche bien mais il accepte la saisie des nom non définis dans la liste des fournisseurs

alors vous ma donnée un code et vous me supprimer une option

mon but des le début c'est de ne pas donne l’occasion aux utilisateurs dans le service d'achat de ne pas saisie autres nom fournisseurs qui ne figure pas dans la liste et aussi il faut que je protège ma feuille

vous me; dit toujours clôture le sujet , je n'est pas encore eu mon but

Vous avez clôturé mes question
je me sens vraiment frustré
Je me sens comme une personne indésirable ici
J'ai dit au début que je suis novice en langue 6

alors vous ma donnée un code et vous me supprimer une option

Comment çà je vous supprime une option ?
Si vous mettez autre chose que ce qui dans la liste FRS, cela vous affiche le message et supprime ce que vous avez écrit et votre feuille est reprotégée
exemple : après ajout d'un fournisseur , essayez d'aller mettre un code compta en colonne B

Quel est le problème ?

vous me; dit toujours clôture le sujet , je n'est pas encore eu mon but

Mais je vous parle des sujets anciens pas de celui-ci
Voyez ici --> https://forum.excel-pratique.com/membre/105428

Rechercher des sujets similaires à "liste deroulante saisie 1eres lettres"