[VBA] Ligne total

Bonjour,

J'ai réussi à faire un programme en VBA pour créer un tableau. Cependant je n'arrive pas à faire automatiquement la ligne total.

Pour faire le programme , j'ai pensé à le faire vérifier

si la case A4 est vierge, alors écrire "Total" en A4 , "=Somme(B3:B4)" en B3 "=Somme(C3:C4)" en C3 et "=Somme(D3:D4)" en D4. Sinon vérifier A5.

Si la case A5 est vierge, alors écrire "Total" en A5 , "=Somme(B3:B5)" en B5 "=Somme(C3:C5)" en C5 et "=Somme(D3:D5)" en D5. Sinon vérifier A6.

13test-total.xlsx (10.51 Ko)

ect...

Je mets en fichier en exemple,

Merci d'avance ,

Bonne journée

Laurene

Bonjour,

Transforme le en Tableau (Insertion/Tableau) et avec le clique droit dans le tableau active la ligne de sous-totaux. Le total s'adaptera automatiquement.

Bonjour Raja,

Merci pour ta réponse,

Cependant ta solution n'est pas possible pour mon tableau. J'ai fait beaucoup de bidouillages est je ne peux malheuresement pas appliquer ta méthode. La seule solution est de passer par le VBA.

Julien,

Bonsoir,

Ci-joint une proposition à tester.

La ligne "Total" est supprimée est recréée à chaque ajout/suppression dans les colonnes A/B/C ou D.

Bonne soirée

Bouben

Bonjour,

Une proposition à étudier.

Cdlt.

28test-total.xlsm (16.26 Ko)
Option Explicit
Dim wb As Workbook
Dim ws As Worksheet

Public Sub Create_Table()
Dim Table As ListObject, I As Long

    Application.ScreenUpdating = False
    Set wb = ActiveWorkbook
    Set ws = wb.Worksheets("Feuil1")
    Set Table = ws.ListObjects.Add(xlSrcRange, ws.Cells(2, 1).CurrentRegion, , xlYes)

    With Table
        .Name = "Tableau1"
        .TableStyle = ""
        .ShowAutoFilterDropDown = False
        '.HeaderRowRange.Font.Bold = True
        .ShowTotals = True
        For I = 2 To .ListColumns.Count
            .ListColumns(I).TotalsCalculation = xlTotalsCalculationSum
        Next I
    End With

    Set Table = Nothing: Set ws = Nothing: Set wb = Nothing

End Sub
Rechercher des sujets similaires à "vba ligne total"