Bonjour à tous,

je développe actuellement une application excel pour saisir des données dans une base, et ensuite les extraire au moyen d'outils statistiques pré configurés en VBA (l'utilisateur n'a qu'à cliquer sur le type d'extraction qu'il souhaite).

Tout fonctionne parfaitement :

- identification de la plage dans la BDD
- extraction de la plage vers une autre feuille
- projection dans un listview mis en forme

Je voulais ajouter à la fin de la plage selectionnée une ligne contenant la somme (ou la moyenne... mais j'en ferai mon affaire dès que j'aurai une solution pour l'addition).

Ce qui me bloque : je ne sais pas comment transformer mon code pour dire que je veux la somme des cellules au dessus.

Voici mon code, j'arrive déjà à insérer le mot "test" dans cette fameuse dernière ligne, et je remercie par avance toute personne qui puisse m'indiquer comment changer cette chaine de caractère en "additionne l'ensemble des cellules du dessus" ==> les lignes du code qui me bloquent sont en rouge

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub CommandButton11_Click()

Dim i As Integer
Dim j As Integer
Dim MyCell As Range

Sheets("feuil1").Cells.Clear
Sheets(ComboBox3.Value).Activate                               ' on active la feuille portant le nom du gestionnaire qui a été sélectionné
    For i = 3 To 360                                           ' définition des paramètres de la boucle i (on commence en A3 et on prévoit jusqu'à 357 dates rentrées)
        If Range("A" & i).Value = CDate(ComboBox1.Value) Then  ' cherche la cellule en A qui contient la date de début de l'extraction
           Range("A" & i).Select                               ' selectionne la cellule
        Set MyCell = Range("A" & i)                            ' cette cellule est maintenant appelée "MyCell"
            For j = 3 To 360                                   ' définition des paramètres de la boucle j (on commence en A3 et on prévoit jusqu'à 357 dates rentrées)
                If Range("A" & j).Value = CDate(ComboBox2.Value) Then ' si la cellule en colonne A portant le numéro j contient la date de fin de l'extraction
                   Range("A" & j).Select                       ' alors on sélectionne la cellule (possibilité de l'appeler MyCell2 comme pour MyCell)
                   Sheets("feuil1").Range("A3", "H" & (j - i) + 3).Value = Range(MyCell, ActiveCell.Offset(0, 7)).Value  ' on transfère les données de la plage dynamique dans la feuil1 en "réservant" les deux premières lignes
                   Sheets("feuil1").Range("A1", "H2").Value = Sheets(ComboBox3.Value).Range("A1", "H2").Value ' on rempli les deux premières lignes avec les titres du tableau de données
                   Sheets("feuil1").Range("A65536").End(xlUp)(2) = "Total/Moyenne"  ' on ajoute une dernière ligne avec ces valeurs
                   Sheets("feuil1").Range("B65536").End(xlUp)(2) = "test"
                   Sheets("feuil1").Range("C65536").End(xlUp)(2) = "test"
                   Sheets("feuil1").Range("D65536").End(xlUp)(2) = "test"
                   Sheets("feuil1").Range("E65536").End(xlUp)(2) = "test"
                   Sheets("feuil1").Range("F65536").End(xlUp)(2) = "test"
                   Sheets("feuil1").Range("G65536").End(xlUp)(2) = "test"
                   Sheets("feuil1").Range("H65536").End(xlUp)(2) = "test"
                End If
            Next j
        End If
    Next i
End Sub
Cordialement,

joe.levrai