Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment compléter automatiquement en tapant dans la liste déroulante d'Excel?

Si vous avez une liste déroulante de validation de données avec de grandes valeurs, vous devez faire défiler la liste juste pour trouver la bonne, ou tapez directement le mot entier dans la zone de liste. S'il existe une méthode permettant de compléter automatiquement en tapant la première lettre dans la liste déroulante, tout deviendra plus facile. Dans ce tutoriel, nous vous fournirons l'insertion de la zone de liste déroulante dans la feuille de calcul et l'exécution du code VBA ensemble pour atteindre la fonction de saisie semi-automatique dans la liste déroulante.

Saisie semi-automatique lors de la saisie dans la liste déroulante avec le code VBA


Combiner plusieurs feuilles de calcul / classeurs dans une seule feuille de calcul / classeur:

Combiner plusieurs feuilles de calcul ou classeurs dans une seule feuille de calcul ou classeur peut être une tâche énorme dans votre travail quotidien. Mais, si vous avez Kutools for Excel, son utilité puissante - Combiner peut vous aider à combiner rapidement plusieurs feuilles de calcul, classeurs dans une feuille de calcul ou un classeur. Téléchargez dès maintenant la totalité des fonctionnalités de Kutools pour Excel pendant la journée 60!

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez l'essai gratuit maintenant!


Saisie semi-automatique lors de la saisie dans la liste déroulante avec le code VBA

Tout d'abord, vous devez insérer une zone de liste modifiable dans la feuille de calcul et modifier ses propriétés, puis exécuter le code VBA pour activer la saisie semi-automatique.

1. Entrez dans la feuille de calcul qui contient la liste déroulante que vous voulez qu'il soit autocompleted.

2. Avant d'insérer la zone de liste déroulante, vous devez activer Développeur onglet dans le ruban.

1). Dans Excel 2010 et 2013, cliquez sur Fichier > Options. Et dans le Options boîte de dialogue, cliquez sur Personnaliser le ruban dans le volet de droite, vérifiez Développeur boîte, puis cliquez sur le OK bouton. Voir la capture d'écran:

2). Dans Outlook 2007, cliquez sur Office bouton> Options Excel. Dans le Options Excel boîte de dialogue, cliquez sur Populaire dans la barre de droite, puis vérifiez Afficher l'onglet Développeurdans le ruban boîte, et enfin cliquez sur le OK .

3. Puis clique Développeur > insérer > Boîte combo pour Contrôles ActiveX. Voir la capture d'écran:

4. Dessinez la zone de liste déroulante dans la feuille de calcul ouverte en cours et faites un clic droit dessus. Sélectionner Propriétés dans le menu contextuel.

5. dans le Propriétés boîte de dialogue, vous devez:

1). Changer le nom pour TempCombo le Nom champ;

2). Spécifiez la police dont vous avez besoin dans Fonte champ;

3). Faites défiler pour sélectionner 1-fmMatchEntryComplete le MatchEntry champ;

4). Fermer la Propriétés boite de dialogue.

6. Désactivez le mode Création en cliquant Développeur > Mode de conception.

7. Cliquez avec le bouton droit sur l'onglet de feuille de calcul ouvert en cours et cliquez sur Voir le code. Voir la capture d'écran:

8. Assurez-vous que l'éditeur de code de feuille de calcul en cours est ouvert, puis copiez-collez le code VBA ci-dessous. Voir la capture d'écran:

Code VBA: saisie semi-automatique lors de la saisie dans la liste déroulante

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Update by Extendoffice: 2018/9/21
    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

9. Cliquez Fichier > Fermer et retourner à Microsoft Excel pour fermer le Microsoft Visual Basic pour l'application fenêtre.

10. Maintenant, il suffit de cliquer sur la cellule avec la liste déroulante, vous pouvez voir la liste déroulante est affichée comme une zone de liste déroulante, puis tapez la première lettre dans la boîte, le mot correspondant sera complété automatiquement. Voir la capture d'écran:

Note: Ce code VBA n'est pas appliqué aux cellules fusionnées.

Office Tab - Navigation par onglets, édition et gestion de classeurs dans Excel:

Office Tab propose une interface à onglets comme celle des navigateurs Web tels que Google Chrome, les nouvelles versions d'Internet Explorer et Firefox pour Microsoft Excel. Il va alors être un outil de gain de temps et irremplaçable dans votre travail. Voir ci-dessous la démo:

Cliquez pour l'essai gratuit de l'onglet Office!

Onglet Office pour Excel

Articles Liés:



Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sandra · 2 years ago
    I also need the solution for limiting the combo box to only one column of the worksheet.
    Thank you. :-)
  • To post as a guest, your comment is unpublished.
    Bonnie Denham · 2 years ago
    I also want to know how to just start typing as opposed to having to first double-click in the cell for it to auto-populate.
  • To post as a guest, your comment is unpublished.
    Torti · 2 years ago
    Is it possible to change the code that not every cell is an Combox?
    I just want it on one Coloumn.
    Thanks
  • To post as a guest, your comment is unpublished.
    Thorsten Rausch · 2 years ago
    Hello, How to change the code that it just work an one Columbus?
  • To post as a guest, your comment is unpublished.
    Thorsten Rausch · 2 years ago
    Hey, is it possible to change the vba code that it doesn't work on the complete worksheet. i need it for one Columbus.