Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

calculer un pourcentage en VBA

  • Initiateur de la discussion Initiateur de la discussion SPEA
  • 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 !

SPEA

XLDnaute Occasionnel
Bonjour Forum,

Je cherche à calculer un pourcentage de temps de fonctionnement sur une machine connaissant le temps de marche pour chaque mois.

Le but est de copier les temps de marche de chaque mois sur une feuille Bilan à la fin du classeur et de calculer le % de temps marche (par ex le mois de janvier contient 31 jours de 24h soit 744h au maxi si fonctionnement 100% du temps.)

Les temps de marche sont toujours situés sur la dernière cellule saisie de la colonne R, cela pour chaque feuille de janvier à décembre.

Merci.
 

Pièces jointes

Re : calculer un pourcentage en VBA

bonjour SPEA

vois si cela te convient

nb: afin qu'Excel comprenne bien j'ai modifié l'appelation du mois de Février en lui ajoutant son accent
par ailleurs le calcul pour Février est fait avec l'année en cours
 

Pièces jointes

Re : calculer un pourcentage en VBA

pierrejean à dit:
bonjour SPEA

vois si cela te convient

nb: afin qu'Excel comprenne bien j'ai modifié l'appelation du mois de Février en lui ajoutant son accent
par ailleurs le calcul pour Février est fait avec l'année en cours
Nickel Pierrejean, merci !

juste une precision:

For n = 1 To Sheets.Count
If Sheets(n).Name <> "Bilan" Then

quelle est la synthaxe si je veux egalement exclure d'autres feuilles de l'execution de cette boucle, si je veux creer une autre feuille de Bilan par exemple ?

Par ailleurs peux tu egalement inclure le calcul des moyennes des colonnes EHJ ?
 

Pièces jointes

Re : calculer un pourcentage en VBA

Bonsoir,

juste une petite precision concernant les calculs de moyennes:

Parfois il manque des valeurs dans les feuilles de relevés mensuelles, la macro fait la moyenne des valeurs en divisant par le nombre de relevés total, elle ne fait pas la moyenne des cellules uniquement remplies.

On vois cette difference surtout au mois de janvier, il manque une valeur dans la colonne H, si je pointe en H17 et que je demande à excel de faire la moyenne H10-H16 j'obtiens 9,6 (la macro donne une valeur de 8,23).

Par contre je ne sais pas quelle est celle des 2 valeurs la plus représentative de la verité, prendre la moyenne des valeurs saisies ou la moyenne totale.

Qu'en pensez vous ?
 
Re : calculer un pourcentage en VBA

Bonsoir SPEA et le Forum,

Coucou à PierreJean et Excel_Lent.😉


La réponse de PierreJean est parfaite, je viens juste dans le fil pour dire à SPEA que j'avais mis la formule dans le fil précédent pour ne pas être obligé d'ajouter une colonne comme il l'a fait et la masquer. Le résultat est identique c'était suite à son observation.

Bonne journée sous les cocotiers, je repense souvent à mon année passée sous ces cieux merveilleux, ma vieille carcasse aimerait retrouver ce climat qui est un vrai bonheur.
A bientôt sur le Forum.
 
Re : calculer un pourcentage en VBA

bonjour SPEA
Salut JYLL

Mes excuses pour cette erreur
J'avais bien vu le probleme des 'non valeurs' de Ph mais l'avais bien mal traité
Cette version devrait etre meilleure
 

Pièces jointes

Re : calculer un pourcentage en VBA

pierrejean à dit:
bonjour SPEA
Salut JYLL

Mes excuses pour cette erreur
J'avais bien vu le probleme des 'non valeurs' de Ph mais l'avais bien mal traité
Cette version devrait etre meilleure
Bonjour Pierrejean, JYLL

Il n'y a pas de mal, la macro me satisfaisait déjà pleinement. Je me suis egalement posé la question pour traiter ce problème: prendre en compte toutes les dates ou ne pas inclure les données incomplètes...

Merci pour cette nouvelle version, je la teste dans l'immediat...
 
Re : calculer un pourcentage en VBA

J'ai un soucis avec la fonction qui calcule le nombre de jours dans le mois, j'ai voulu adapter la macro sur le fichier identique contenant les saisies de 2006 et j'obtiens une erreur dans la fonction quand la macro calcule les moyennes.

Pierrejean peux tu m'expliquer comment s'execute cette fonction STP ?

merci.
 
Re : calculer un pourcentage en VBA

Peut on rajouter une boucle pour traiter le cas où il n'y a aucune valeur saisie dans un mois, le calcul des moyennes aboutit à une division par 0 et à une erreur de depassement dans la macro.

Ce cas de figure peut se produire si la machine tombe en panne et doit être mise à l'arrêt plus d'un mois.
 
Re : calculer un pourcentage en VBA

bonjour SPEA

5 mn pour deboguer !!

bravo !!

explication:

Code:
Function nbjmois(mois As String, an As Integer)
Dim ms As Integer
ms = Month(CDate("25/" & mois & "/" & an) + 15)
nbjmois = Day(CDate("01/" & ms & "/" & an) - 1)
End Function

"25/" & mois & "/" & an -> expression string du 25 du mois considéré
transformé en date par Cdate()
ajout de 15 jours pour passer au mois suivant
recuperation du mois suivant -> ms=month()
puis 1er du mois suivant - 1 jour -> dernier jour du mois (evalué par Day() )

il est bien sur necessaire qu'Excel comprenne la variable mois
 
Re : calculer un pourcentage en VBA

Je sens une pointe d'ironie dans la reponse 😉

Pierrejean peux tu ajouter une boucle pour le cas où il n'y a aucune saisie dans le mois, les moyennes aboutissent à une division par 0
 
- 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

Discussions similaires

Réponses
3
Affichages
233
Réponses
4
Affichages
482
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…