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

Doriantino Messages postés 6 Statut Membre -  
Doriantino Messages postés 6 Statut Membre -
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

  1. altashy Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   2
     
    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
    1. Doriantino Messages postés 6 Statut Membre
       
      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
    2. altashy Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   2
       
      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
    3. Doriantino Messages postés 6 Statut Membre
       
      C'est exactement ce que je recherchais merci :)
      0