Somme d'une plage de cellules contiguës
Résolu/Fermé
skyscraper
Messages postés
7
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
16 septembre 2018
-
15 sept. 2018 à 21:57
skyscraper Messages postés 7 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 16 septembre 2018 - 16 sept. 2018 à 01:17
skyscraper Messages postés 7 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 16 septembre 2018 - 16 sept. 2018 à 01:17
A voir également:
- Somme d'une plage de cellules contiguës
- Somme si couleur - Guide
- Somme excel - Guide
- Verrouiller cellules excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Problème somme excel 0 ✓ - Forum Excel
3 réponses
Whismeril
Messages postés
19029
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 avril 2024
931
15 sept. 2018 à 23:16
15 sept. 2018 à 23:16
Bonsoir, je ne suis pas bien fort en VBA, du coup quand je sèche sur un truc comme ça, je tente un enregistrement de macro, des fois ça marche.
skyscraper
Messages postés
7
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
16 septembre 2018
16 sept. 2018 à 00:37
16 sept. 2018 à 00:37
Bonsoir,
C'est justement sur quoi je cale.
J'y ai passé toute l'AM à tester dans tous les sens, enfin je crois avoir testé toutes les solutions,
mais j'en ai sûrement oublié une, la bonne.
par exemple j'ai testé :
WorksheetFunction.Sum(WSMois.Range(WSMois.Cells(175, 7), WSMois.Cells(175, 7).Offset(0, 0).Resize(0, 3)))
et j'ai en réponse :
<Erreur définie par l'application ou par l'objet>
Ai-je raison de penser que s'il est possible d'écrire une équation dans la formule d'une cellule, cette équation est aussi possible en VBA ?
Ce que je constate c'est que la fonction WorksheetFunction.Sum(Plage1,Plage2,........) n'accepte que des arguments correspondant à une seule cellule alors qu'il faut pouvoir incorporer une plage de cellule.
Connaissez-vous une autre fonction que "SUM" permettant de sommer plusieurs cellules ?
A+
C'est justement sur quoi je cale.
J'y ai passé toute l'AM à tester dans tous les sens, enfin je crois avoir testé toutes les solutions,
mais j'en ai sûrement oublié une, la bonne.
par exemple j'ai testé :
WorksheetFunction.Sum(WSMois.Range(WSMois.Cells(175, 7), WSMois.Cells(175, 7).Offset(0, 0).Resize(0, 3)))
et j'ai en réponse :
<Erreur définie par l'application ou par l'objet>
Ai-je raison de penser que s'il est possible d'écrire une équation dans la formule d'une cellule, cette équation est aussi possible en VBA ?
Ce que je constate c'est que la fonction WorksheetFunction.Sum(Plage1,Plage2,........) n'accepte que des arguments correspondant à une seule cellule alors qu'il faut pouvoir incorporer une plage de cellule.
Connaissez-vous une autre fonction que "SUM" permettant de sommer plusieurs cellules ?
A+
skyscraper
Messages postés
7
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
16 septembre 2018
16 sept. 2018 à 01:17
16 sept. 2018 à 01:17
Je viens de résoudre mon problème ...
WorksheetFunction.Sum(WSMois.Range(Pointeur).Offset(0, 0).Resize(1, 3))
Il ne faut simplement pas redimensionner avec 0, c'est 1 au minimum ou rien
WorksheetFunction.Sum(WSMois.Range(Pointeur).Offset(0, 0).Resize(, 3))
et là pas besoin de boucle vous avez la somme de 3 cellules contiguës, que l'on peut décaler avec Offset à volonté et sommer le nombre de lignes et de colonnes que vous voulez.
WorksheetFunction.Sum(Pointeur.Offset(rowOffset, columnOffset) .Resize(RowsSize, ColumnsSize) )
WorksheetFunction.Sum(WSMois.Range(Pointeur).Offset(0, 0).Resize(1, 3))
Il ne faut simplement pas redimensionner avec 0, c'est 1 au minimum ou rien
WorksheetFunction.Sum(WSMois.Range(Pointeur).Offset(0, 0).Resize(, 3))
et là pas besoin de boucle vous avez la somme de 3 cellules contiguës, que l'on peut décaler avec Offset à volonté et sommer le nombre de lignes et de colonnes que vous voulez.
WorksheetFunction.Sum(Pointeur.Offset(rowOffset, columnOffset) .Resize(RowsSize, ColumnsSize) )