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

Ch3ayba

XLDnaute Junior
Bonjour,

je suis entrain e mettre en place une macro et j'ai besoin de votre aide, au fait j'ai un tableau avec les données qui changent en fonction de l'extraction, j'aimerai insérer une ligne avec les moyenne de chaque fournisseurs et le nom.

mais je ne sais pas comment mettre ça par macro.

Ci-joint un exemple de mes données (Anglet avant) et ce que j'aimerai avoir comme résultat (anglet après), merci de me dire si c'est faisable. si oui merci de me fournir le code 🙂.

d'avance merci pour votre aide.
 

Pièces jointes

Re : Macro moyenne

Bonjour Ch3ayba,

... et si tu utilisais les outils existants, comme les "Sous-Totaux" de l'onglet "Données", quitte à utiliser l'enregistreur de macros ensuite, si nécessaire!? Je présume que c'est toi qui as inséré les lignes vides (jaunes)? Chose qui n'est pas même nécessaire (ni conseillée) pour les sous-totaux.
 
Re : Macro moyenne

oui c'est moi qui a inséré les lignes jaunes à l'aide d'une macro, pour arriver au résultat de l'exemple je passe par plusieurs étapes.
par conte je ne sais pas comment faire pour insérer mes moyennes?? d'avance merci pour votre aides.
 
Re : Macro moyenne

Bonjour Ch3ayba,

Bien que grillé par Modeste, que je salue au passage, j'ai eu la même idée et voici le résultat par formules sur la copie ci-jointe.

Bien sûr, cela reste toujours possible par macro mais demande un peu plus de réflexion. Si tu y tiens absolument, je peux y regarder.

Cordialement.
 

Pièces jointes

Re : Macro moyenne

Bonjour.
Ceci marche pas mal :
VB:
Sub Macro1()
If Feuil1.Cells(1, 1).Value <> "Désignation" Then
   Feuil1.Rows(1).Insert
   Feuil1.Cells(1, 1).Value = "Désignation"
   Feuil1.Cells(1, 2).Value = "Valeur"
   End If
Feuil1.Range("A1:B" & Feuil1.[A65536].End(xlUp).Row).Subtotal GroupBy:=1, Function:=xlAverage, TotalList:=Array(2), _
        Replace:=True, PageBreaks:=False, SummaryBelowData:=True
Feuil1.Cells.ClearOutline
End Sub
Cordialement.
 
Re : Macro moyenne

merci Papou-net pour ton retour,
je ne peux pas le faire avec un sous total, parce que le fichier d'origine est une extraction d'un système et donc les noms et le nombre de de ligne change, donc l'idée c'est de mettre en place une macro avec une formule genre somme prod ou je ne sais pas pas pour calculer la moyenne quelque soit le nom ou le nombre de ligne 🙂
 
Re : Macro moyenne

merci Papou-net pour ton retour,
je ne peux pas le faire avec un sous total, parce que le fichier d'origine est une extraction d'un système et donc les noms et le nombre de de ligne change, donc l'idée c'est de mettre en place une macro avec une formule genre somme prod ou je ne sais pas pas pour calculer la moyenne quelque soit le nom ou le nombre de ligne 🙂

RE:

Entretemps, j'ai anticipé et planché sur une solution par macro.

Je te propose donc une version .xlsm de ton fichier. La macro détecte les positions des lignes jaunes et remplit les cellules A et B avec le titre et la formule de calcul des moyennes. Ainsi, peu importe le nombre de lignes entre deux sous-totaux.

Espérant avoir été utile.

Cordialement.

PS : bonjour Dranreb.
 

Pièces jointes

Re : Macro moyenne

re Dranred, la solution me convient mais comme expliqué le fichier est le fruit de plusieurs macro je veux intégrer le code macro subtotal pour que je puise terminer mon travail.

Papou-net je n'ai pas reussi à intégrer ta macro dans mon fichier, je te joins un exemple de mon fichier je cherche a faire le subtotal pour la partie Otif/ month??? d'avance merci pour votre aide
 

Pièces jointes

Re : Macro moyenne

Ben oui. Je n'ai vu aucune programmation où intégrer autre chose. Mon code devrait convenir parfaitement.
Sauf qu'en plus, là, il y a déjà une ligne de titres, donc pas besoin de la créer, il suffit de partir de celle là.
À +
 
Re : Macro moyenne

lol, peut être pour toi Dranreb c'est simple, mais pas pour moi lol je ne connais pas la fonction sous total et la macro que tu m'as donné me semble top, par contre elle ne fonctionne dans mon ficer lol j'ai modifié ce qu'il ya a modifier pour calculer la moyene des oif par client mais en vain :-s
 
Re : Macro moyenne

Cette adaptation a fonctionné du premier coup chez moi:
VB:
Sub Macro1()
Feuil1.Range("A2:G" & Feuil1.[A65536].End(xlUp).Row).Subtotal GroupBy:=1, Function:=xlAverage, TotalList:=Array(7), _
        Replace:=True, PageBreaks:=False, SummaryBelowData:=True
Feuil1.Cells.ClearOutline
End Sub
À +
 
Re : Macro moyenne

Papou-net je n'ai pas reussi à intégrer ta macro dans mon fichier, je te joins un exemple de mon fichier je cherche a faire le subtotal pour la partie Otif/ month??? d'avance merci pour votre aide

Voici donc la copie modifiée de ton fichier.

La macro insère et formate les lignes puis insère les formules dans les colonnes de droite. Cette macro n'a plus d'effet si aucune liste de supplier n'est ajoutée; si tu insères des lignes entre deux lignes jaunes, les formules suffisent à calculer les nouvelles moyennes.

Je t'ai laissé en exemple la feuille 2, qui m'a servi pour les essais. Tu peux donc la supprimer.

Bonne soirée.

Cordialement.
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 Agenda
Réponses
3
Affichages
237
Réponses
12
Affichages
408
Réponses
1
Affichages
188
W
Retour