A voir également:
- Comment faire un sous-total
- Total uninstall - Télécharger - Divers Utilitaires
- Comment faire un total sur excel - Guide
- Total av avis ✓ - Forum Consommation & Internet
- Total adblock avis - Forum Mozilla Firefox
- Rolland souhaite calculer le montant total des ventes de son magasin. le fichier contient, pour chaque produit, la quantité vendue et le prix unitaire. calculez le montant total des ventes. ✓ - Forum Excel
6 réponses
Raymond PENTIER
Messages postés
58397
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
26 avril 2024
17 094
3 avril 2010 à 01:07
3 avril 2010 à 01:07
La commande Données/Sous-total fait tout ça très bien sans avoir besoin d'une macro ...
Bonjour Raymond et merci de me répondre, oui je connais mais le problème et c'est pourquoi je veux mettre le code dans ma macro, c'est que je souhaite ne garder que les lignes où il ya les sous totaux.
Merci de votre aide.
Merci de votre aide.
Raymond PENTIER
Messages postés
58397
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
26 avril 2024
17 094
3 avril 2010 à 12:38
3 avril 2010 à 12:38
J'avais bien compris, et je confirme que la commande Sous-Total le permet : il suffit d'actionner les [+] et les [-] à gauche de la feuille (boutons du mode Plan).
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 214
3 avril 2010 à 10:31
3 avril 2010 à 10:31
Bonjour,
soustot = ["SumProduct((B2:B9= ""article1"") * 1, C2:C9)"]
Fabrique tes adresses de plage par concaténation.
eric
soustot = ["SumProduct((B2:B9= ""article1"") * 1, C2:C9)"]
Fabrique tes adresses de plage par concaténation.
eric
Bonjour Eric, et merci de me répondre. Cela ne fonctionne pas, j'ai pense qu'il faut que je me posistionne sur la dernière ligne de la collone B et je boucle en remontant. Si les articles sont identiques, j'en fais la somme des valeurs de la colonne E et je supprime les lignes comptées et garde la dernière avec le total et je remonte et ainsi de suite. Le problème je ne sais pas comment l'écrire en VB.
Merci de ton aide.
Merci de ton aide.
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 214
3 avril 2010 à 12:16
3 avril 2010 à 12:16
J'avais zappé la fin, pas vu que tu voulais le résultat sur la feuille.....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour le forum, personne a une réponsz à mon problème
A bientôt.
A bientôt.
Raymond PENTIER
Messages postés
58397
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
26 avril 2024
17 094
6 avril 2010 à 23:36
6 avril 2010 à 23:36
Pourquoi ? Ma réponse n'est pas valable ?
Tu veux absolument passer par une macro pour une chose aussi simple ?
Envoie-moi ton fichier, je te le retourne complété dans les 24 heures ...
Tu veux absolument passer par une macro pour une chose aussi simple ?
Envoie-moi ton fichier, je te le retourne complété dans les 24 heures ...
Bonjour Raymond, ta réponse me convient, mais ce n"est pas moi qui utilise le fichier et je veux que ça soit simple pour l' utilisateur ( juste un bouton ). Mais jai trouver la solution que voici :
Application.ScreenUpdating = False
j = 1
While Cells(j + 1, 1) <> ""
i = 0
While UCase(Cells(j + i + 1, 2)) = UCase(Cells(j + i + 2, 2))
i = i + 1
Wend
If i > 0 Then
Cells(j + i + 1, 3) = WorksheetFunction.Sum(Range(Cells(j + 1, 3), Cells(j + i + 1, 3)))
Range(Cells(j + 1, 1), Cells(j + i, 1)).EntireRow.Delete
End If
j = j + 1
Wend
Application.ScreenUpdating = False
Application.ScreenUpdating = False
j = 1
While Cells(j + 1, 1) <> ""
i = 0
While UCase(Cells(j + i + 1, 2)) = UCase(Cells(j + i + 2, 2))
i = i + 1
Wend
If i > 0 Then
Cells(j + i + 1, 3) = WorksheetFunction.Sum(Range(Cells(j + 1, 3), Cells(j + i + 1, 3)))
Range(Cells(j + 1, 1), Cells(j + i, 1)).EntireRow.Delete
End If
j = j + 1
Wend
Application.ScreenUpdating = False