Ligne Totale d'un tableau avec des sections créées dynamiquement

J'ai un tableau contenant des sections de 4 lignes. Un bouton me permet d'ajouter une section supplémentaire au tableau grâce à du vba.

image

Je souhaiterais ajouter une ligne finale au tableau contenant le nombre total d'expert et une formule pour calculer le total. Cette somme doit être l'addition des cellules TOTAL de chaque section.

Ici ma fonction vba pour créer la section:

Sub AddANewPrivateExpert()

    Dim DerniereLigne As Long
    Dim Sh As Worksheet

    Set Sh = ActiveSheet

    With Sh
         DerniereLigne = .Cells(.Rows.Count, "F").End(xlUp).Row
         .Range(.Cells(DerniereLigne + 1, "A"), .Cells(DerniereLigne + 4, "F")).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
         .Range(.Cells(DerniereLigne - 3, "A"), .Cells(DerniereLigne, "F")).Copy Destination:=.Cells(DerniereLigne + 1, "A")
         .Range(.Cells(DerniereLigne + 1, "A"), .Cells(DerniereLigne + 1, "F")).Borders(xlEdgeTop).Weight = xlMedium
         .Cells(DerniereLigne + 1, "A") = .Cells(DerniereLigne - 3, "A") + 1
         .Range(.Cells(DerniereLigne + 2, "D"), .Cells(DerniereLigne + 3, "D")).ClearContents
    End With
    Set Sh = Nothing

End Sub

Je ne sais pas trop comment m'y prendre pour créer la ligne totale dynamiquement afin que cette ligne finale du tableau ne soit pas écrasée lors de l'ajout de nouvelles sections lors du clic sur le bouton.

Ici le fichier:

12meetings-web.xlsm (76.65 Ko)

Pourriez-vous m'aider svp ?

Bonjour à tous,

Je ne sais pas trop comment m'y prendre pour créer la ligne totale dynamiquement afin que cette ligne finale du tableau ne soit pas écrasée lors de l'ajout de nouvelles sections lors du clic sur le bouton.

Au lieu de la positionner en dessous de ton tableau, tu la mets au dessus.....

Et quand on a ta disposition, on n'utilise pas la fonction total, mais la fonction sous.total, ça facilite grandement les calculs

Crdlmt

Et quand on a ta disposition, on n'utilise pas la fonction total, mais la fonction sous.total, ça facilite grandement les calculs

Pourriez-vous m'aider à mettre en place ceci dans le VBA ou mettre à jour la formule sous-totale dynamiquement ?

Bonjour,

Si votre code vba "insére" et non ajoute de nouvelles lignes trois par trois dans votre tableau alors Votre total général ne sera pas écrasé il sera

décalé plus bas.

Vous pouvez donc laisser votre ligne actuelle total général indépendante en dessous de votre tableau.

La formule à indiquer est simple puisque votre tableau a des sous-totaux : le général c'est la moitié du total de votre tableau :

=SOMME(PrivateExpertTable[TOTAL])/2

Merci pour la réponse, mais pour le moment il n'y a pas de footer ou de ligne spécifique au total.

Si je mets cette ligne dans le tableau manuellement (soit avec l'option "ligne totale" du ruban pour le tableau). Après insertion de la section grâce au bouton, la ligne totale est supprimée et remplacée par les 4 lignes. C'est pourquoi je pense qu'il faut insérer la ligne dans le script.

Pourriez-vous m'aider à mettre cela en place ?

Sauf erreur de ma part :

Votre fichier actuel ( joint à votre premier post) utilise bien l'option d'insertion

LA LIGNE total COST OF THE MEETING existe déjà elle aussi. Elle n'est pas supprimée quand la macro est lancée mais elle est décalée

C'est la formule qui s'y trouve qui est incorrecte.

6meetings-web.xlsm (74.58 Ko)

La dernière ligne total COST OF THE MEETING existe bien effectivement et est bien décalée.

Le problème ne se situe pas au niveau de cette ligne finale qui regroupe les sommes des 2 tableaux.

Moi je souhaiterais ajouter un total dans un "footer" uniquement pour le 2e tableau. Car il n'y a pas de total sur le 2eme tableau.

image

Si j'ajoute manuellement une dernière ligne à ce 2eme tableau (en cliquant sur l'option ligne Totale du ruban ) pour effectuer le total, le tableau n'est pas respecté (la ligne finale totale se duplique et les calculs ne sont pas mis à jour correctement

image

Pourriez-vous m'aider s'il vous?

Re bonjour,

J'avais écris Un total général sur une ligne indépendante du tableau. là vous l'avez intégrée au tableau !

Laissez une ligne vide entre votre fin de tableau et votre total général. Ensuite il faut penser à changer la valeur de : derniereLigne dans le code car votre

total général en colonne F va venir géner.

DerniereLigne = .Cells(.Rows.Count, "F").End(xlUp).Row - 2
6meetings-web.xlsm (74.54 Ko)

Merci beaucoup. J'ai une dernière question, comment je peux récupérer le valeur maximale de la colonne # du 2e tableau dynamique?

Merci pour votre aide

Pour le Tableau Gov.Expert ? =MAX(Table6[TOTAL])

Rechercher des sujets similaires à "ligne totale tableau sections creees dynamiquement"