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 afficher le premier élément dans la liste déroulante au lieu de vide?

doc liste déroulante par défaut vers le haut 1

La liste déroulante dans une feuille de calcul peut nous aider à faciliter la saisie des données, nous avons juste besoin de sélectionner les éléments sans les taper un par un. Mais, parfois, lorsque vous cliquez sur la liste déroulante, il saute d'abord sur les éléments vides au lieu du premier élément de données comme sur la capture d'écran suivante, cela peut être dû à la suppression des données source à la fin de la liste. Il peut être ennuyeux que vous deviez revenir au début d'une longue liste pour chaque cellule de validation de données vide. Cet article, je vais parler de la façon de toujours montrer le premier élément dans la liste déroulante.

Afficher le premier élément dans la liste déroulante au lieu de vide avec la fonction de validation des données

Afficher automatiquement le premier élément dans la liste déroulante au lieu de vide avec le code VBA


flèche bleue droite bulle Afficher le premier élément dans la liste déroulante au lieu de vide avec la fonction de validation des données


En fait, pour réaliser ce travail, il vous suffit d'appliquer une formule spécifique lorsque vous créez une liste déroulante, procédez comme suit:

1. Sélectionnez les cellules dans lesquelles vous souhaitez insérer la liste déroulante, puis cliquez sur Data > Validation des données > Validation des données, voir capture d'écran:

doc liste déroulante par défaut vers le haut 2

2. Dans le sauté Validation des données boîte de dialogue, sous Réglages onglet, choisissez liste du Permettre section, puis entrez cette formule: = OFFSET (Sheet3! $ A $ 1,0,0, COUNTA (Feuille3! $ A: $ A) -1,1) dans le Source zone de texte, voir capture d'écran:

Note: Dans cette formule, Sheet3 est la feuille de calcul contient la liste de données source, et A1 est la première valeur de cellule dans la liste.

doc liste déroulante par défaut vers le haut 3

3. Puis clique OK bouton, maintenant, lorsque vous cliquez sur les cellules de la liste déroulante, le premier élément de données toujours affiché en haut s'il y a des valeurs de cellules supprimées à la fin des données source, voir capture d'écran:

doc liste déroulante par défaut vers le haut 4


flèche bleue droite bulle Afficher automatiquement le premier élément dans la liste déroulante au lieu de vide avec le code VBA

Ici, je peux également introduire un code VBA qui peut vous aider à afficher automatiquement le premier élément de la liste déroulante lorsque vous cliquez sur les cellules de validation des données.

1. Après avoir inséré la liste déroulante, sélectionnez l'onglet de la feuille de calcul qui contient la liste déroulante, et faites un clic droit pour choisir Voir le code à partir du menu contextuel pour aller à la Microsoft Visual Basic pour applications fenêtre, puis copiez et collez le code suivant dans le module:

Code VBA: Affiche automatiquement le premier élément de données dans la liste déroulante:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20160725
    Dim xFormula As String
    On Error GoTo Out:
    xFormula = Target.Cells(1).Validation.Formula1
    If Left(xFormula, 1) = "=" Then
        Target.Cells(1) = Range(Mid(xFormula, 1)).Cells(1).Value
    End If
Out:
End Sub

doc liste déroulante par défaut vers le haut 5

2. Puis enregistrez et fermez la fenêtre de code, et maintenant, lorsque vous cliquez sur la cellule de liste déroulante, le premier élément de données sera affiché à la fois.


Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe Créer une liste de diffusion et envoyer des emails ...
  • Super Formula Bar (éditez facilement plusieurs lignes de texte et de formule); Disposition de lecture (facilement lire et éditer un grand nombre de cellules); Coller à la gamme filtrée...
  • Fusionner les cellules / rangées / colonnes sans perdre de données; Contenu des cellules divisées; Combiner les lignes / colonnes en double... Prévenir les cellules en double; Comparer les plages...
  • Sélectionnez Dupliquer ou Unique Des rangées; Sélectionnez les lignes vierges (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux cahiers d'exercices; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de la formule; Créer automatiquement des références à plusieurs feuilles; Insérer des balles, Cases à cocher et plus ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre contenu de cellules et commentaires...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial en gras, en italique ...
  • Combinaison de classeurs et de feuilles de calcul; Fusionner les tables en fonction des colonnes clés; Fractionner les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus que de puissantes fonctionnalités 300. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit du jour 30.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie grandement votre travail

  • Activer l'édition par onglets et la lecture 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é de 50% et réduit le nombre de clics de souris pour vous chaque jour!
fond officetab
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.
    Jason · 2 months ago
    Doesn't work for me. I keep getting an error message that says, "There's a problem with this formula. Not trying to type a formula? When the first character is an equal (+) or minus (-) sign, Exel thinks it's a formula.... To get around this, type an apostrophe (') first..."
  • To post as a guest, your comment is unpublished.
    Justin · 11 months ago
    Hello!

    How can I set a data validation list such that if the drop down value in the cell is deleted, the cell will automatically show a default value (i.e. "-Select-")?

    For example, I have a worksheet with multiple drop down lists that I want to show a default value of "-Select-" once the sheet is opened. A user will select values from the lists that will impact the result of calculations throughout the entire spreadsheet. A user may accidentally "delete" the cell contents of the lists. If this happens, rather than the cell becoming blank, I want the cell to show a default value of "-Select-". This scenario occurs in multiple random locations throughout the spreadsheet, not just in one localized place.

    I was able to find the following VBA code so far, but it only applies the concept over a range, rather than just individual cells that contain drop down lists. The problem with what I have coded so far is that every single blank cell in the range ends up with "-Select-" in it. Some of the lists are in ranges, but some are also scattered throughout the sheet. The problem I'm having with my current code is that every single blank cell in the range ends up with "-Select-" in it. I'm trying to get this to apply over the entire worksheet to ONLY cells that are drop down lists.

    Is what I'm trying to accomplish even possible?

    Example file can be found here:
    https://drive.google.com/file/d/1VoO8VgFs3IJ0ALwqfk0i8gt69UE4vEKW/view?usp=sharing

    Example code:

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cel As Range
    ' If Target.Cells.Count > 1 Then Exit Sub 'turning this off allows multiple cells to be selected and deleted at the same time
    If Not Intersect(Target, Range("f2:p17")) Is Nothing Then
    For Each cel In Range("f2:p17")
    Application.EnableEvents = False
    If IsEmpty(cel.Value) Then cel.Value = "-Select-"
    Next cel
    End If
    Application.EnableEvents = True
    End Sub


    Thanks in advance!
  • To post as a guest, your comment is unpublished.
    Justin · 11 months ago
    How can I set a data validation list such that if the drop down value in the cell is deleted, the cell will automatically show the a default value (i.e. "-Select-")?

    For example, I have a worksheet with multiple drop down lists that I want to show a default value of "-Select-" once the sheet is opened. A user will select values from the lists that will impact the result of calculations throughout the entire spreadsheet. A user may accidentally "delete" the cell contents. If this happens, rather than the cell becoming blank, I want the cell to show a default value of "-Select-". This scenario occurs in multiple random locations throughout the spreadsheet, not just in one localized place.

    I was able to come up with the following VBA code so far, but I've only figured out how to apply the concept over a range, rather than just cells that contain a drop down list. The problem with what I have coded so far is that every single blank cell in the range ends up with "-Select-" in it.

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cel As Range
    ' If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("f2:p17")) Is Nothing Then
    For Each cel In Range("f2:p17")
    Application.EnableEvents = False
    If IsEmpty(cel.Value) Then cel.Value = "-Select-"
    Next cel
    End If
    Application.EnableEvents = True
    End Sub
  • To post as a guest, your comment is unpublished.
    frans eilering · 1 years ago
    select the cell in which you have put the listitem
    the range for the listitem is "Opleiding"
    in your VBA code:

    selection.Value = Range("opleiding").Cells(2, 1)

    the result is that the selected item of the listItem is the second item in the range "Opleiding"
  • To post as a guest, your comment is unpublished.
    DHARAMVIR · 2 years ago
    After scroll down select to cells numeric data not come in series only first cell data come
    select 1,2 different cells and scroll down value not coming 1,2,3,4,5....... only first cell value coming 1,1,1,1,....