Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Somme en derniere ligne

2 réponses
Avatar
S3com
bonjour.

Apres des recherches j'ai trouv=E9 ce bout de code plutot interressant.
With Range("j2", [i:i].Find("*", [j1], , , , xlPrevious))
.Item(.Count + 1).Formula =3D "=3DSUM(" & .Address(0, 0) & ")"
End With

Mais au lieu de faire la somme sur une seule colonne que voudrais que
ca fasse la somme sur plusieurs colonne. Voici les colonnes o=F9
j'aimerais avoir un total en bas de page : H, J, L, N, P, R, T, V et W

Merci encore pour votre aide ou vos precisions!

emeric

2 réponses

Avatar
Jean-François Aubert
salut emeric,

1 de ces 2 macros ferait-elle l'affaire ?

'********************************************************************************
Sub totalDeChaqueColonne()
Dim col As Integer
Dim Arr, iArr, li, derLi, col, PremLi
PremLi = 2 ' première ligne à prendre en compte

' N° de colonnes
Arr = Array("8", "10", "12", "14", "16", "18", "20", "22", "23")

' cherche le plus grand numéro de ligne vide
For iArr = 0 To UBound(Arr)
li = Cells(65536, CInt(Arr(iArr))).End(xlUp).Row
If li > derLi Then derLi = li
Next

' imscrit les totaux
For iArr = 0 To UBound(Arr)
col = CInt(Arr(iArr))
Cells(derLi + 1, col).Formula = "=SUM(" & Range(Cells(2, col),
Cells(derLi, col)).Address(0, 0) & ")"
Next

End Sub

'************************************************************************************
Sub totalDesColonnes()
Dim col As Integer
Dim Arr, iArr, li, derLi, PremLi
Dim laFormule
Dim colTotal

colTotal = 8 ' N° de la colonne où inscrire le total
PremLi = 2 ' première ligne à prendre en compte

' N° de colonnes
Arr = Array("8", "10", "12", "14", "16", "18", "20", "22", "23")

' cherche le plus grand numéro de ligne vide
For iArr = 0 To UBound(Arr)
li = Cells(65536, CInt(Arr(iArr))).End(xlUp).Row
If li > derLi Then derLi = li
Next

' construction de la formule
For iArr = 0 To UBound(Arr)
col = CInt(Arr(iArr))
laFormule = laFormule & ";" & Range(Cells(2, col), Cells(derLi,
col)).Address(0, 0)
Next
laFormule = Right(laFormule, Len(laFormule) - 1)
laFormule = "=Somme(" & laFormule & ")"

' inscrit la formule
Cells(derLi + 1, colTotal).FormulaLocal = laFormule
End Sub

'**********************************************************************
--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"S3com" a écrit dans le message de news:

bonjour.

Apres des recherches j'ai trouvé ce bout de code plutot interressant.
With Range("j2", [i:i].Find("*", [j1], , , , xlPrevious))
.Item(.Count + 1).Formula = "=SUM(" & .Address(0, 0) & ")"
End With

Mais au lieu de faire la somme sur une seule colonne que voudrais que
ca fasse la somme sur plusieurs colonne. Voici les colonnes où
j'aimerais avoir un total en bas de page : H, J, L, N, P, R, T, V et W

Merci encore pour votre aide ou vos precisions!

emeric
Avatar
S3com
Merci.

J'aurais pas reussi a trouver ca tout seul.
Grace a toi j'ai fini mon projet! C'etait la touche manquante

Bonne journée