VBA - Calcul de somme sur la première case vide

Fermé
Doriantino Messages postés 6 Date d'inscription vendredi 9 mars 2018 Statut Membre Dernière intervention 4 avril 2018 - 14 mars 2018 à 14:50
Doriantino Messages postés 6 Date d'inscription vendredi 9 mars 2018 Statut Membre Dernière intervention 4 avril 2018 - 4 avril 2018 à 16:31
Bonjour,

Je souhaiterai faire un programme VBA permettant de faire la somme de chaque colonne et de les afficher en fin de colonne (première case vide)

Pouvez-vous m'aider ?

Merciii :)

1 réponse

altashy Messages postés 36 Date d'inscription mercredi 3 janvier 2018 Statut Membre Dernière intervention 1 juin 2018 2
4 avril 2018 à 15:36
Bonjour,

Sub sommeCellules()
'declare tes variables
Dim somme As Integer
Dim nbli As Integer

'nombre de ligne dans Feuil1 colonne A
nbli = Cells(Sheets("Feuil1").Rows.Count, "A").End(xlUp).Row
'demare la somme à 0
somme = 0

'on ajoute à somme les données de chaque cellule
For i = 1 To nbli
somme = somme + Cells(i, 1)
Next

'met dans la dernière colonne la valeur de la somme
Range("A" & nbli + 1).Value = somme
End Sub

Voilà voilà :D
1
Doriantino Messages postés 6 Date d'inscription vendredi 9 mars 2018 Statut Membre Dernière intervention 4 avril 2018
4 avril 2018 à 15:55
Merci pour ta réponse altashy :)

Ton programme marche super bien mais j'ai un petit soucis ;)

Si admettons on a ce type de colonne:

2
2
3
4
5
16 <--- Résultat voulu

5
6
8
4
2
41 <---- Résultat obtenu

Je voudrais enfaite qu'il calcul la somme à la première case vide, ensuite qu'il recommence à 0 et qu'il enchaine sur les case du dessous, première case ... etc

Je te remercie,
Bonne journée
0
altashy Messages postés 36 Date d'inscription mercredi 3 janvier 2018 Statut Membre Dernière intervention 1 juin 2018 2
4 avril 2018 à 16:17
Je vois.
Alors comme ça c'est mieux :D

Sub sommeCellules()
'declare tes variables
Dim somme As Integer
Dim nbli As Integer

'nombre de ligne dans Feuil1 colonne A
nbli = Cells(Sheets("Feuil1").Rows.Count, "A").End(xlUp).Row
'demare la somme à 0
somme = 0

'on ajoute à somme les données de chaque cellule
For i = 1 To nbli
'quand une cellule est vide
If Cells(i, 1) = "" Then
'si plusieurs case vide entre les données
If somme <> 0 Then
'met dans la première ligne vide la valeur de la somme
Cells(i, 1) = somme
'remet somme à 0 pour la suite
somme = 0
End If
Else
'incrémente somme avec les cellules pleines
somme = somme + Cells(i, 1)
End If
Next
'somme pour les dernières valeurs
Range("A" & nbli + 1).Value = somme
End Sub

Bonne journée à toi aussi
0
Doriantino Messages postés 6 Date d'inscription vendredi 9 mars 2018 Statut Membre Dernière intervention 4 avril 2018
4 avril 2018 à 16:31
C'est exactement ce que je recherchais merci :)
0