calcul sous-totaux colonne à chaque cellule différente de 1

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 !

Re : calcul sous-totaux colonne à chaque cellule différente de 1

merci
le problème est qu'il faut prendre en compte dans cette solution les dates de séparation et que cela implique toutes ces colonnes intermédaires. Cela ne serait pas facilement applicable.

s'il n'y pas de solution par formule, effectivement un code vba serait peut-être l'idéal ?
 
Re : calcul sous-totaux colonne à chaque cellule différente de 1

Bonjour,

Voyez le fichier joint et cette macro :

Code:
Sub SousTotal()
Dim plage As Range, cel As Range
Application.ScreenUpdating = False
Set plage = Range("B1", [B65536].End(xlUp))
plage.AutoFilter 1, "<>1"
Set plage = plage.Offset(1).SpecialCells(xlCellTypeVisible)
ActiveSheet.AutoFilterMode = False
Set plage = Intersect(plage.EntireRow, [C:C])
[C2:C65536].ClearContents 'RAZ
For Each cel In plage
cel.FormulaArray = "=SUM(OFFSET(R1C2,MAX(IF(R1C2:R[-1]C2<>1,ROW(R1C2:R[-1]C2)))-1,):R[-1]C2)"
'cel = cel 'facultatif, supprime la formule
Next
End Sub
Elle entre une formule matricielle en colonne C.

A+
 

Pièces jointes

Re : calcul sous-totaux colonne à chaque cellule différente de 1

Bonjour,

Voyez le fichier joint et cette macro :

Code:
Sub SousTotal()
Dim plage As Range, cel As Range
Application.ScreenUpdating = False
Set plage = Range("B1", [B65536].End(xlUp))
plage.AutoFilter 1, "<>1"
Set plage = plage.Offset(1).SpecialCells(xlCellTypeVisible)
ActiveSheet.AutoFilterMode = False
Set plage = Intersect(plage.EntireRow, [C:C])
[C2:C65536].ClearContents 'RAZ
For Each cel In plage
cel.FormulaArray = "=SUM(OFFSET(R1C2,MAX(IF(R1C2:R[-1]C2<>1,ROW(R1C2:R[-1]C2)))-1,):R[-1]C2)"
'cel = cel 'facultatif, supprime la formule
Next
End Sub
Elle entre une formule matricielle en colonne C.

A+


merci le code vba me parait une piste très intéressante. Serait-il possible de l'adapter ?

J'ai déjà commencé à l'adapter pour que les résultats soit extrait dans un tableau mais l'idéal serait de pouvoir boucler sur plusieurs colonne ce type de calcul.

Je joins le fichier adapté en attente d'une évolution permettant de faire cela.

merci par avance
 

Pièces jointes

Re : calcul sous-totaux colonne à chaque cellule différente de 1

Re,

Si l'on veut uniquement le tableau en colonne D, on peut entrer directement en D2 :

Code:
=SOMME(INDIRECT("B"&PETITE.VALEUR(TabLig;LIGNE()-1)&":B"&PETITE.VALEUR(TabLig;LIGNE())))
TabLig étant le nom défini par :

Code:
=SI(Feuil1!$B$1:$B$1000<>1;LIGNE(Feuil1!$B$1:$B$1000))
Aucune validation matricielle n'est nécessaire.

Fichier (2).

A+
 

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 Remplissage auto
Réponses
14
Affichages
371
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
312
Réponses
12
Affichages
452
Réponses
18
Affichages
721
Retour