Combobox et fonction indirect
Résolu/Fermé
A voir également:
- Combobox et fonction indirect
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction trier excel - Guide
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. quelle formule sera en a9 ? ✓ - Forum Programmation
3 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
31 mars 2017 à 22:17
31 mars 2017 à 22:17
Bonsoir Mimi, bonsoir le forum,
Ton problème est relativement simple à résoudre mais il nous faudrait savoir comment sont disposées les données. Sans un fichier exemple, difficile de t'en dire plus...
Ton problème est relativement simple à résoudre mais il nous faudrait savoir comment sont disposées les données. Sans un fichier exemple, difficile de t'en dire plus...
Bonjour,
Voici le fichier : https://xls.lu/VRzC
Lorsqu'on sélectionne le service, dans la saisie d'absence je voudrais que n'apparaissent que les personnes affectées à ce service (INDIRECT).
Merci d'avance,
Voici le fichier : https://xls.lu/VRzC
Lorsqu'on sélectionne le service, dans la saisie d'absence je voudrais que n'apparaissent que les personnes affectées à ce service (INDIRECT).
Merci d'avance,
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
3 avril 2017 à 21:24
3 avril 2017 à 21:24
Bonsoir Mimi, bonsoir le forum,
Voici la méthode que j'utilise. Elle peut paraître compliquée (variable tableau et Dictionnaire) mais elle est ultra rapide et efficace sur les gros tableaux. Surtout, elle est dynamique en récupérant les données automatiquement sans être obligé de créer des plages nommées (que j'ai supprimées d'ailleurs). Supprimé aussi la propriété RowSource de la ComboBox2...
Le code :
Le Fichier modifié :
https://www.cjoint.com/c/GDdttSA6pQR
Voici la méthode que j'utilise. Elle peut paraître compliquée (variable tableau et Dictionnaire) mais elle est ultra rapide et efficace sur les gros tableaux. Surtout, elle est dynamique en récupérant les données automatiquement sans être obligé de créer des plages nommées (que j'ai supprimées d'ailleurs). Supprimé aussi la propriété RowSource de la ComboBox2...
Le code :
Private O As Worksheet 'déclare la variable O (Onglet) Private TV As Variant 'décalre la variable TV (Tableau des Valeurs) Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm Dim D As Object 'déclare la variable D (Dictionnaire) Dim I As Integer 'déclare la variable I (Incrément) Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter) TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV (il vaut mieux ne pas avoir de données en-dessous...) Set D = CreateObject("Scripting.Dictionary") 'définit le dictionnaire D For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde) D(TV(I, 1)) = "" 'alimente le dictionnaire D avec les données en colonne 1 de TV (les services) Next I 'prochaine ligne de la boucle Me.ComboBox2.List = D.keys 'alimente la ComboBox2 avec la liste des éléments du dictionnaire D sans doublons End Sub Private Sub ComboBox2_Change() 'au changement dans la ComboBox2 Dim I As Integer 'déclare la variable I (Incrément) Me.ComboBox3.Clear 'vide la ComboBox3 For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde) 'si la donnée ligne I colonne 1 de TV est égale à la valeur de la ComboBox2, ajoute la donnée en colonne 2 de TV à la ComboBox3 If TV(I, 1) = Me.ComboBox2.Value Then Me.ComboBox3.AddItem TV(I, 2) Next I 'prochaine ligne de la boucle End Sub
Le Fichier modifié :
https://www.cjoint.com/c/GDdttSA6pQR