Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Colonne B : code vendeur (de 1 à 5)
Colonne G : montant des ventes
Il y a X lignes
Dans la feuille "Vendeurs" j'ai :
Colonne A : code vendeur (de 1 à 5)
Colonne B : nom et prénom du vendeur
Colonne C : total des ventes par vendeurs
OBJECTIF :
En cliquant sur le bouton "Montant des ventes pour un vendeur", je cherche à afficher une combobox avec liste déroulante reprenant les noms et prénoms des vendeurs.
Ses noms et prénoms renvoient au code vendeur automatiquement à partir de la feuille "Vendeurs".
Dans la feuille "Vendeurs", dans la cellule en face du bon vendeur (celui choisi dans la combobox), on obtient la somme des ventes du vendeur.
Sachant que je cherche à faire une macro qui fonctionne quelque soit le nombre de vendeur et quelque soit le nombre de ligne dans la feuille "Extraction".
Je suis bloqué ...
Je mets en pièce jointe le fichier avec la combobox déjà créée.
Merci d'avance.
Il y a certainement 36 façons d'arriver à ton résultat, mais j'ai l'impression que tu as choisi la plus compliquée 🙂
Zones, nommées, listes déroulantes, un petit Somme.si(), vois dans le fichier joint plusieurs pistes qui, sauf addiction aux Userforms, peuvent peut-être t'aider en simplifiant le problème.
Voici ton fichier avec les macros modifiées et complétées. Tu remarqueras qu'il est inutile d'écrire ou de copier certaines cellules sur la feuille Vendeurs, la macro se charge de calculer et d'afficher les totaux directement dans la colonne adéquate.
Merci beaucoup pour la réponse rapide (comme d'habitude sur ce forum, c'est impressionnant! -- j'avais un autre compte avant)
Je vais me mettre dans la macro histoire de comprendre la logique et de voir pourquoi je n'ai pas réussi à la faire.
Pour poser le contexte : je n'ai jamais eu de formation VBA, je m'auto-forme.
Pourrais tu m'expliquer la macro, je ne la comprends pas ...
Notamment :
i = ComboBox1.ListIndex + 1
--> Pour moi dans la combobox il y a du texte. Alors je ne comprends pas comment il peut "comprendre" le +1.
With Sheets("Extraction")
For Lg = 2 To .Range("B:B").SpecialCells(xlCellTypeConstants).Rows.Count
If .Cells(Lg, 2) = i Then
Sheets("Vendeurs").Range("C" & i + 1) = Sheets("Vendeurs").Range("C" & i + 1) + .Cells(Lg, 7)
End If
Next
End With
--> Je ne connais pas la "fonction" .SpecialCells(xlCellTypeConstants).Rows.Count, donc je ne vois pas comment est ce qu'il peut faire une somme avec condition ... En fait je ne comprends pas le code en entier :/
La liste d'index des combobox commence à 0, donc on ajoute 1 à l'index pour correspondre à la position réelle dans la liste. Là on agit sur l'index (ListIndex) et non sur le contenu texte de la liste.
ListIndex Code Nom
0 1 Jean-Charles Maigret
1 2 Pierre Rolling
2 3 Felix Marchioni
3 4 Toussaint Leandri
4 5 Ange Pieri
Ex : ComboBox1.ListIndex(2) = Felix Marchioni
ComboBox1.ListIndex(2) + 1 = Toussaint Leandri
Code:
With Sheets("Extraction")
For Lg = 2 To .Range("B:B").SpecialCells(xlCellTypeConstants).Rows.Count
If .Cells(Lg, 2) = i Then
Sheets("Vendeurs").Range("C" & i + 1) = Sheets("Vendeurs").Range("C" & i + 1) + .Cells(Lg, 7)
End If
Next
End With
La boucle ci-dessus analyse chaque cellule dont le contenu n'est pas vide dans la colonne B:B
La fonction
Code:
SpecialCells(xlCellTypeConstants).Rows.Count
compte (Count) le nombre de lignes (Rows) dont la cellule colonne B contient des données (SpecialCells(xlCellTypeConstants). Attention, il s'agit là de données et non pas de formules.
Si la cellule contient le code correspondant au choix mentionné sur UserForm1, il incrémente la cellule adjacente (colonne C) du montant correspondant au code vendeur.
De ce fait, pas besoin de formules dans la feuille de calcul.
La macro Sub exercice2() procède de la même façon, avec une boucle supplémentaire pour balayer chaque code de vendeur.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD