Macro pour calcul de pourcenatge par colonne

  • Initiateur de la discussion Initiateur de la discussion Flash
  • Date de début Date de début

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 !

F

Flash

Guest
Bonjour,

je suis débutante en VBA et je souhaite faire des calculs de pourcentage par colonne dans des fichiers excel. J'ai plusieurs fichiers qui ont des colonnes nommés avec des 1, 2,3,4 et je dois calculer le pourcentage de 1, 2, 3 et 4.
Merci pour votre aide
 
Re : Macro pour calcul de pourcenatge par colonne

Bonjour Flash et le Forum,

Voici une macro qui devrait répondre à ton besoin :

Code:
Sub pourcentage()
  For I = 1 To Range("A65536").End(xlUp).Row
    somme = 0
    For J = 1 To 4
      somme = somme + Cells(I, J)
    Next J
    For J = 1 To 4
      Cells(I, J + 4) = Format(Cells(I, J) / somme, "Percent")
    Next J
  Next I
End Sub
Bon test.
 
Re : Macro pour calcul de pourcenatge par colonne

Salut,

Regarde le fichier joint, je t'ai fais un petit exemple avec du code assez simple pour que tu vois ce qu'il est possible de faire, bien qu'une formule pourrait faire aussi bien et beaucoup plus simplement.

@+

Edition : Et bien je vois que l'ami Jean-Yves m'a devancé.
 

Pièces jointes

Re : Macro pour calcul de pourcenatge par colonne

JYLL à dit:
Bonjour Flash et le Forum,

Voici une macro qui devrait répondre à ton besoin :

Code:
Sub pourcentage()
  For I = 1 To Range("A65536").End(xlUp).Row
    somme = 0
    For J = 1 To 4
      somme = somme + Cells(I, J)
    Next J
    For J = 1 To 4
      Cells(I, J + 4) = Format(Cells(I, J) / somme, "Percent")
    Next J
  Next I
End Sub
Bon test.
Bonjour,

merci pour ton aide mais je pense que ma demande n'était pas claire, je souhaite calculer les pourcentages par colonnes. Par exemples
1
1
3
4
1
2
2
1
1
4
% 1 =50%
% 2=....
 
Re : Macro pour calcul de pourcenatge par colonne

Re Bonjour Flash et le Forum,

La question est-elle celle ci ?:

Tu fais la somme d'une colonne et tu veux savoir le pourcentage de chaque ligne de la colonne ?

J'ai fais la somme de chaque ligne et j'ai calculé le pourcentage de chaque élément de la ligne par rapport à la somme

Au plaisir de te lire.
 
Re : Macro pour calcul de pourcenatge par colonne

Bonjour Flash JYLL, Romain, le forum,

Ce que j'ai compris : =NB.SI($A$1:$A$10;1)/NB($A$1:$A$10) pour avoir le poucentage de 1

Pareil pour le 2 : =NB.SI($A$1:$A$10;2)/NB($A$1:$A$10)

Etc....

Bonne fin de journée,

Jean-Pierre

Edit : Réctif pour bloquer les cellules et pouvoir étirer vers le bas, les "$"
 
Dernière édition:
Re : Macro pour calcul de pourcenatge par colonne

Oui c'et ça que je fais actuellement mais comme j'ai 70 fichiers et 15 colonnes, j'aurai souhaité automatisé
Merci

jeanpierre à dit:
Bonjour Flash JYLL, Romain, le forum,

Ce que j'ai compris : =NB.SI($A$1:$A$10;1)/NB($A$1:$A$10) pour avoir le poucentage de 1

Pareil pour le 2 : =NB.SI($A$1:$A$10;2)/NB($A$1:$A$10)

Etc....

Bonne fin de journée,

Jean-Pierre

Edit : Réctif pour bloquer les cellules et pouvoir étirer vers le bas, les "$"
 
Re : Macro pour calcul de pourcenatge par colonne

Re Bonjour Flash et le Forum,
Salut Jean-Pierre, Pierre Jean,Porcinet🙂 😉

La Macro précédente adaptée à ton besoin :
Code:
Sub Calcul_Pourcentage()
Dim Tablo(100), Nb_Val As Integer, Ligne As Integer, I As Integer, J As Integer
    Nb_Val = Range("A65536").End(xlUp).Row
      For I = 1 To Range("A65536").End(xlUp).Row
            Tablo(Cells(I, 1)) = Tablo(Cells(I, 1)) + 1
        Next I
        Ligne = Range("A65536").End(xlUp).Row + 3
        For J = 1 To 100
        If Tablo(J) <> 0 Then
            Cells(Ligne, 1) = J
            Cells(Ligne, 2) = Format(Tablo(J) / Nb_Val, "Percent")
            Ligne = Ligne + 1
       End If
       Next J
End Sub
Bon test.
 
Re : Macro pour calcul de pourcenatge par colonne

Bonjour JYLL,

je teste ta macro et je n'ai aucun résultat et pas de message d'erreur non plus.

JYLL à dit:
Re Bonjour Flash et le Forum,
Salut Jean-Pierre, Pierre Jean,Porcinet🙂 😉

La Macro précédente adaptée à ton besoin :
Code:
Sub Calcul_Pourcentage()
Dim Tablo(100), Nb_Val As Integer, Ligne As Integer, I As Integer, J As Integer
    Nb_Val = Range("A65536").End(xlUp).Row
      For I = 1 To Range("A65536").End(xlUp).Row
            Tablo(Cells(I, 1)) = Tablo(Cells(I, 1)) + 1
        Next I
        Ligne = Range("A65536").End(xlUp).Row + 3
        For J = 1 To 100
        If Tablo(J) <> 0 Then
            Cells(Ligne, 1) = J
            Cells(Ligne, 2) = Format(Tablo(J) / Nb_Val, "Percent")
            Ligne = Ligne + 1
       End If
       Next J
End Sub
Bon test.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
228
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
313
  • Question Question
XL pour MAC Graphique
Réponses
12
Affichages
541
Retour