L'ajout d'une boîte combinée (également connue sous le nom de liste déroulante) à une feuille de calcul Excel améliore l'interaction utilisateur et l'entrée de données. Il existe deux méthodes principales: à l'aide de la barre d'outils Forms ou de l'onglet Développeur.
Méthode 1: Utilisation de la barre d'outils Forms (Versions Excel anciennes):
Méthode 2: Utilisation de l'onglet Développeur (Excel 2007 et plus tard):
Quelle que soit la méthode utilisée, vous voudrez probablement lier la boîte combo à une plage de cellules pour remplir ses options dynamiquement. Cela se fait dans la boîte de dialogue "Contrôle du format ...", sous l'onglet "Control", en spécifiant la "plage d'entrée" qui contient la liste des éléments pour votre boîte combo.
La validation des données pour votre boîte combinée garantit que les utilisateurs ne sélectionnent que les valeurs dans votre liste prédéfinie, empêchant les erreurs. Alors que la boîte combo-respect elle-même restreint l'entrée à sa liste, l'ajout de validation de données fournit des messages de contrôle et d'erreur supplémentaires.
Paramètres:
=Sheet1!$A$1:$A$10
). Cela garantit la cohérence.Cette méthode exploite la validation des données intégrée d'Excel pour renforcer les restrictions déjà imposées par la boîte combinée, fournissant une solution plus robuste. L'utilisateur ne pourra sélectionner que les valeurs dans la liste définie dans les paramètres de validation des données et la boîte combinée.
VBA offre un plus grand contrôle sur le remplissage de votre boîte combinée, en particulier lorsque vous traitez des sources de données dynamiques. L'extrait de code suivant remplit une boîte combinée nommée "ComboBox1" avec des données de la plage A1: A10 sur Sheet1:
<code class="vba">Private Sub PopulateComboBox() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Set ws = ThisWorkbook.Sheets("Sheet1") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row With Me.ComboBox1 .Clear For i = 1 To lastRow .AddItem ws.Cells(i, "A").Value Next i End With End Sub</code>
Ce code définit d'abord un objet de feuille de calcul et trouve la dernière ligne contenant des données dans la colonne A. Ensuite, il efface les éléments existants dans la boîte combo et itère via la plage spécifiée, ajoutant la valeur de chaque cellule en tant qu'élément à la boîte combo. N'oubliez pas de remplacer "Sheet1"
et "A1:A10"
par votre nom et votre plage de feuille. Vous devrez attribuer cette macro à un bouton ou à un événement pour déclencher la population.
Lier une boîte combo à une autre cellule affiche l'élément sélectionné dans la boîte combo dans cette cellule. Ceci est réalisé via la propriété LinkedCell
de la boîte combo.
LinkedCell
.$B$1
).Alternativement, vous pouvez définir cette propriété à l'aide du code VBA:
<code class="vba">Private Sub ComboBox1_Change() Range("B1").Value = ComboBox1.Value End Sub</code>
Ce code met automatiquement à jour la cellule B1 chaque fois que la sélection de la boîte combo change. N'oubliez pas de remplacer "B1"
et "ComboBox1"
par votre nom de référence de cellule et votre boîte de combo. Cette approche VBA fournit des mises à jour immédiates, tandis que le paramètre de propriété directe dans les mises à jour de la fenêtre Propriétés uniquement lorsque la feuille de calcul est recalculée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!