Comment activer l'autocomplétion lors de la saisie dans une liste déroulante Excel ?
Pour une liste déroulante de validation des données contenant de nombreux éléments, vous devez faire défiler la liste vers le haut ou vers le bas pour trouver celui dont vous avez besoin ou taper correctement le mot entier dans la zone de liste. Existe-t-il un moyen de rendre la liste déroulante auto-complétée lorsque vous tapez les caractères correspondants ? Cela aiderait les utilisateurs à travailler plus efficacement dans les feuilles de calcul avec des listes déroulantes dans les cellules. Ce tutoriel propose deux méthodes pour vous aider à y parvenir.
Activer l'autocomplétion des listes déroulantes avec du code VBA
Activer facilement l'autocomplétion des listes déroulantes en 2 secondes
Plus de tutoriels pour les listes déroulantes...
Activer l'autocomplétion des listes déroulantes avec du code VBA
Veuillez suivre les étapes ci-dessous pour rendre une liste déroulante auto-complétée après avoir tapé les lettres correspondantes dans la cellule.
Tout d'abord, vous devez insérer une zone combinée dans la feuille de calcul et modifier ses propriétés.
- Ouvrez la feuille de calcul qui contient les cellules de la liste déroulante que vous souhaitez rendre auto-complétées.
- Avant d'insérer une zone combinée, vous devez ajouter l'onglet Développeur au ruban Excel. Si l'onglet Développeur est visible sur votre ruban, passez à l'étape 3. Sinon, suivez les étapes ci-dessous pour afficher l'onglet Développeur dans le ruban : Cliquez sur "Fichier" > "Options" pour ouvrir la fenêtre "Options". Dans cette fenêtre "Options Excel", cliquez sur "Personnaliser le Ruban" dans le volet gauche, cochez la case "Développeur", puis cliquez sur le bouton "OK". Voir capture d'écran :
- Cliquez sur "Développeur" > "Insérer" > "Zone combinée (Contrôle ActiveX)".
- Dessinez une zone combinée dans la feuille de calcul actuelle. Faites un clic droit dessus, puis sélectionnez "Propriétés" dans le menu contextuel.
- Dans la boîte de dialogue "Propriétés", remplacez le texte original dans le champ "(Nom)" par "TempCombo."
- Désactivez le "Mode Création" en cliquant sur "Développeur" > "Mode Création".
Ensuite, appliquez le code VBA ci-dessous
- Faites un clic droit sur l'onglet de la feuille actuelle et cliquez sur "Afficher le Code" dans le menu contextuel. Voir capture d'écran :
- Dans la fenêtre "Microsoft Visual Basic for Applications" qui s'ouvre, copiez et collez le code VBA ci-dessous dans la fenêtre Code de la feuille de calcul. Code VBA : Autocomplétion lors de la saisie dans une liste déroulante
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Update by Extendoffice: 2020/01/16 Dim xCombox As OLEObject Dim xStr As String Dim xWs As Worksheet Dim xArr Set xWs = Application.ActiveSheet On Error Resume Next Set xCombox = xWs.OLEObjects("TempCombo") With xCombox .ListFillRange = "" .LinkedCell = "" .Visible = False End With If Target.Validation.Type = 3 Then Target.Validation.InCellDropdown = False Cancel = True xStr = Target.Validation.Formula1 xStr = Right(xStr, Len(xStr) - 1) If xStr = "" Then Exit Sub With xCombox .Visible = True .Left = Target.Left .Top = Target.Top .Width = Target.Width + 5 .Height = Target.Height + 5 .ListFillRange = xStr If .ListFillRange = "" Then xArr = Split(xStr, ",") Me.TempCombo.List = xArr End If .LinkedCell = Target.Address End With xCombox.Activate Me.TempCombo.DropDown End If End Sub Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Select Case KeyCode Case 9 Application.ActiveCell.Offset(0, 1).Activate Case 13 Application.ActiveCell.Offset(1, 0).Activate End Select End Sub
- Appuyez simultanément sur les touches "Alt + Q" pour fermer la fenêtre Microsoft Visual Basic for Applications.
Dès maintenant, lorsque vous cliquez sur une cellule de liste déroulante, la liste déroulante apparaîtra automatiquement. Vous pouvez commencer à taper la lettre pour compléter automatiquement l'élément correspondant dans la cellule sélectionnée. Voir capture d'écran :
Activer facilement l'autocomplétion des listes déroulantes en 2 secondes
Pour la plupart des utilisateurs d'Excel, la méthode VBA ci-dessus est difficile à maîtriser. Mais avec la fonctionnalité "Liste déroulante consultable" de Kutools pour Excel, vous pouvez facilement activer l'autocomplétion pour les listes déroulantes de validation des données dans une plage spécifiée en seulement 2 secondes. De plus, cette fonctionnalité est disponible pour toutes les versions d'Excel.
- Pour activer l'autocomplétion dans vos listes déroulantes, commencez par sélectionner la plage contenant les listes déroulantes. Ensuite, accédez à l'onglet "Kutools", choisissez "Liste déroulante" > "Rendre la liste déroulante consultable, Auto-popup."
- Dans la boîte de dialogue "Rendre la liste déroulante consultable", cliquez sur le bouton "OK" pour enregistrer le paramètre.

Résultat
Une fois la configuration terminée, cliquer sur une cellule de liste déroulante dans la plage spécifiée fera apparaître une liste déroulante. Lorsque vous entrez des caractères, dès qu'un élément correspond exactement, le mot entier est immédiatement mis en surbrillance dans la liste déroulante et peut être inséré dans la cellule de la liste déroulante simplement en appuyant sur la touche Entrée.
Articles connexes :
Comment créer une liste déroulante avec plusieurs cases à cocher dans Excel ?
De nombreux utilisateurs d'Excel ont tendance à créer des listes déroulantes avec plusieurs cases à cocher afin de sélectionner plusieurs éléments de la liste à la fois. En réalité, vous ne pouvez pas créer une liste avec plusieurs cases à cocher avec la validation des données. Dans ce tutoriel, nous allons vous montrer deux méthodes pour créer une liste déroulante avec plusieurs cases à cocher dans Excel. Ce tutoriel fournit une méthode pour résoudre le problème.
Créer une liste déroulante à partir d'un autre classeur dans Excel
Il est assez facile de créer une liste déroulante de validation des données entre les feuilles de calcul d'un même classeur. Mais si les données de la liste nécessaires pour la validation des données se trouvent dans un autre classeur, que feriez-vous ? Dans ce tutoriel, vous apprendrez comment créer une liste déroulante à partir d'un autre classeur dans Excel en détail.
Créer une liste déroulante consultable dans Excel
Pour une liste déroulante comportant de nombreuses valeurs, trouver celle qui convient n'est pas une tâche facile. Auparavant, nous avons introduit une méthode permettant d'auto-compléter une liste déroulante lorsqu'on entre la première lettre dans la zone de liste déroulante. Outre la fonction d'autocomplétion, vous pouvez également rendre la liste déroulante consultable pour améliorer l'efficacité de recherche des bonnes valeurs dans la liste déroulante. Pour rendre la liste déroulante consultable, essayez la méthode décrite dans ce tutoriel.
Auto-remplissage d'autres cellules lors de la sélection de valeurs dans une liste déroulante Excel
Disons que vous avez créé une liste déroulante basée sur les valeurs de la plage de cellules B8:B14. Lorsque vous sélectionnez une valeur dans la liste déroulante, vous souhaitez que les valeurs correspondantes dans la plage de cellules C8:C14 soient automatiquement remplies dans une cellule sélectionnée. Pour résoudre le problème, les méthodes de ce tutoriel vous seront utiles.
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !