Pb sous totaux pourcentage vba excel
Fermé
NICOLAS44
-
21 oct. 2006 à 14:19
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 22 oct. 2006 à 15:01
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 22 oct. 2006 à 15:01
A voir également:
- Pb sous totaux pourcentage vba excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Formule excel - Guide
- Aller à la ligne excel - Guide
- Mise en forme conditionnelle excel - Guide
3 réponses
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
857
21 oct. 2006 à 14:50
21 oct. 2006 à 14:50
Bonjour,
c'est le genre de question qui ne doit pas prendre plus de 10mn pour y répondre AVEC le fichier exemple.
SANS un fichier exmple, j'ai envie de te répondre une évidence qu'un pas à pas devrait confirmer : ton total doit prendre une valeur nulle à un moment donné.
si tu ne t'en sors pas, monte ton fichier sur CJOINT
cordialement
PS : ton besoin de % ne pouvait-il pas se résoudre par des formules ?
c'est le genre de question qui ne doit pas prendre plus de 10mn pour y répondre AVEC le fichier exemple.
SANS un fichier exmple, j'ai envie de te répondre une évidence qu'un pas à pas devrait confirmer : ton total doit prendre une valeur nulle à un moment donné.
si tu ne t'en sors pas, monte ton fichier sur CJOINT
cordialement
PS : ton besoin de % ne pouvait-il pas se résoudre par des formules ?
Produit CA Région
Produit1 100 A 19,61%
Produit3 110 A 21,57%
Produit6 100 A 19,61%
Produit15 100 A 19,61%
Produit18 100 A 19,61%
510 Total A
Produit2 565 B 32,51%
Produit4 100 B 5,75%
Produit7 567 B 32,62%
Produit10 400 B 23,01%
Produit19 106 B 6,10%
1738 Total B
Produit5 100 C 25,00%
Produit8 100 C 25,00%
Produit11 100 C 25,00%
Produit12 100 C 25,00%
400 Total C
Produit17 120 D 52,86%
Produit20 107 D 47,14%
227 Total D
2875 Total
On veut le % de chaque produit par rapport à chaque sous-total
Sub essai()
lig = Range("c1").End(xlDown).Row
i = lig - 1
Do While i > 1
total = Cells(i, 2)
mrégion = Cells(i - 1, 3)
Do While Cells(i - 1, 3) = mrégion
Cells(i - 1, 4) = Cells(i - 1, 2) / total
Cells(i - 1, 4).NumberFormat = "0.00%"
i = i - 1
Loop
i = i - 1
Loop
End Sub
Produit1 100 A 19,61%
Produit3 110 A 21,57%
Produit6 100 A 19,61%
Produit15 100 A 19,61%
Produit18 100 A 19,61%
510 Total A
Produit2 565 B 32,51%
Produit4 100 B 5,75%
Produit7 567 B 32,62%
Produit10 400 B 23,01%
Produit19 106 B 6,10%
1738 Total B
Produit5 100 C 25,00%
Produit8 100 C 25,00%
Produit11 100 C 25,00%
Produit12 100 C 25,00%
400 Total C
Produit17 120 D 52,86%
Produit20 107 D 47,14%
227 Total D
2875 Total
On veut le % de chaque produit par rapport à chaque sous-total
Sub essai()
lig = Range("c1").End(xlDown).Row
i = lig - 1
Do While i > 1
total = Cells(i, 2)
mrégion = Cells(i - 1, 3)
Do While Cells(i - 1, 3) = mrégion
Cells(i - 1, 4) = Cells(i - 1, 2) / total
Cells(i - 1, 4).NumberFormat = "0.00%"
i = i - 1
Loop
i = i - 1
Loop
End Sub
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
857
22 oct. 2006 à 15:01
22 oct. 2006 à 15:01
Bonjour,
ta macro (la 2ème) fonctionne très bien! je n'ai pas d'erreur.
si tu veux une solution sans macro, utilise la formule matricielle
D2=SI(A2="";"";B2/SOMMEPROD(($C$2:$C$20=C2)*$B$2:$B$20))
(à valider par CTRL+MAJ+ENTER)
sinon, tu ne semble pas connaître CJOINT : https://www.cjoint.com/
c'est beaucoup plus pratique pour les personnes à qui tu veux transmettre des données
A+
ta macro (la 2ème) fonctionne très bien! je n'ai pas d'erreur.
si tu veux une solution sans macro, utilise la formule matricielle
D2=SI(A2="";"";B2/SOMMEPROD(($C$2:$C$20=C2)*$B$2:$B$20))
(à valider par CTRL+MAJ+ENTER)
sinon, tu ne semble pas connaître CJOINT : https://www.cjoint.com/
c'est beaucoup plus pratique pour les personnes à qui tu veux transmettre des données
A+