[VBA] Somme de colonne tant que non vide

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mmalzert

XLDnaute Occasionnel
Bonjour à tous.
Je compile 4 onglets en un seul avec le code suivant.
Code:
   Me.Cells.Clear
   With Sheets("#1")
      .Range(.[A3], .[A3].SpecialCells(xlCellTypeLastCell)).Copy Destination:=Me.Cells(1, 1)
   End With
   With Sheets("#2")
      .Range(.[A4], .[A4].SpecialCells(xlCellTypeLastCell)).Copy Destination:=Me.Cells(Me.Rows.Count, 1).End(xlUp).Offset(1, 0)
   End With
   With Sheets("#3")
      .Range(.[A4], .[A4].SpecialCells(xlCellTypeLastCell)).Copy Destination:=Me.Cells(Me.Rows.Count, 1).End(xlUp).Offset(1, 0)
   End With
   With Sheets("#4")
      .Range(.[A4], .[A4].SpecialCells(xlCellTypeLastCell)).Copy Destination:=Me.Cells(Me.Rows.Count, 1).End(xlUp).Offset(1, 0)
   End With
   
   With Me.[A1]
      With .CurrentRegion
         .Copy
         .PasteSpecial Paste:=xlPasteValues
      End With
      Application.CutCopyMode = False
      .Select
   End With

Je supprime ensuite les colonnes qui ne m'interessent pas :

Code:
Range("A:A,C:C,J:J,M:M,O:P,R:T").Select
Range("T1").Activate
Selection.Delete Shift:=xlToLeft

Enfin, et c'est ici que j'ai besoin d'aide, je cherche à faire la somme des colonnes H, I, J, K en colonne L à partir de la ligne 2 tant qu'il y a des valeurs dans l'une d'entre elles.
En L1 je veux mettre "Total" avec le même format que la ligne 1.

Merci pour votre aide.
 

Pièces jointes

Dernière édition:
Re : [VBA] Somme de colonne tant que non vide

Bonsoir mmalzert,

Tu peux essayer une ligne du genre :

Code:
Total = Application.Sum(Range("H:K").SpecialCells(xlCellTypeConstants)

Ca devrait marcher à condition que tes colonnes ne contiennent pas de résultas dûs à des formules.

Cordialement.
 
Re : [VBA] Somme de colonne tant que non vide

Bonjour Papou. Merci pour ton aide.

Les colonnes sont des valeurs.
Par contre, je ne vois pas comment intégrer ton code. J'ai juste copier coller et ça me mets une erreur du coup. Je n'ai pas de variable à définir ?
 
Re : [VBA] Somme de colonne tant que non vide

Bonjour mmalzert,

Aec ton code en entier sous les yeux ce serait plus facile d'être précis.

Mais après relecture de ton message initial je te propose de placer, à l'endroit qui convient le mieux dans ta macro, les lignes suivantes :

Range("L1") = Application.Sum(Range("H2:K" & Rows.Count).SpecialCells(xlCellTypeConstants))

Pour info : dans ma réponse précédente, j'ai omis de mettre une parenthèse fermante en fin de ligne. Peut-être est-ce la cause de l'erreur que tu as obtenue ?

Quoiqu'il en soit, si tu ne parviens pas à solutionner la question, il serait alors toujours temps de joindre une version allégée de ton fichier, et sans données confidentielles bien entendu.

Cordialement.

PS : je te joins un petit fichier de démo.
 

Pièces jointes

Re : [VBA] Somme de colonne tant que non vide

Petit up.

Il manque des éléments pour que l'on puisse m'aider ?
Je cherche maintenant à insérer une formule recherchev dans une colonne (D) qui va chercher dans un autre onglet.
Elle doit être appliquée jusqu'à la derniere ligne non vide.

Merci d'avance.

Edit : je me répond à moi même.
J'ai trouvé et adapté le code suivant.
Code:
Sub recherchev()

    Dim lgDebLig As Long
    Dim lgFinLig As Long
    Dim lgLig As Long
   
    ' Première ligne de la colonne D
    lgDebLig = 2    ' A changer en fonction du début de la première ligne de données
    ' Dernière ligne remplie en colonne D
    lgFinLig = Range("E" & Cells.Rows.Count).End(xlUp).Row
   
    For lgLig = lgDebLig To lgFinLig
        ' Mettre la formule dans la colonne désirée
        Range("D" & lgLig).Formula = "=VLOOKUP(C" & lgLig & ",'Table de conversion mois'!$A2:$b12,2,0)"
    Next lgLig

End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
673
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
447
Retour