Microsoft 365 Ecriture de formules dans VBA sur cellules non vides

ShuarS

XLDnaute Occasionnel
Bonjour à tous,

Meilleurs Vœux 2021 !

Je n’ai pas fait de VBA depuis un moment et je coince sur l’écriture du code.

Je joins un fichier pour modèle.
La seule particularité est le nombre de cellules non vides en colonne B.
Ces cellules peuvent être variables en quantité et en ligne.
C.-à-d., non vide en B3 et B5 dans mon exemple, mais dans un autre fichier ce pourrait être B12 et B20.

L’idée est donc dans un premier temps d’identifier les cellules non vides de la colonne B.
Ensuite j’aimerais en D1 ; E1 ; F1 écrire au lancement de la macro une formule de SOMME sur les ces colonnes et lignes non vides.
Pour finir en colonne H, j’aimerais écrire une SOMME des lignes non vides.

J’espère avoir été clair,
Merci pour votre aide.

Shu
 

Pièces jointes

  • TEST_LP.xlsx
    9 KB · Affichages: 24
Solution
@ShuarS, le fil,

ton fichier en retour ; même utilisation : Ctrl e

VB:
Option Explicit

Sub Essai()
  Dim dlg&: dlg = Cells(Rows.Count, 2).End(3).Row: If dlg < 3 Then Exit Sub
  Dim Tbl, T(5), lig&, col%: dlg = dlg - 2: Tbl = [B3].Resize(dlg, 17)
  For lig = 1 To dlg
    If Tbl(lig, 1) <> "" Then
      T(0) = 0
      For col = 3 To 7
        T(0) = T(0) + Tbl(lig, col)
        T(col - 2) = T(col - 2) + Tbl(lig, col)
      Next col
      Tbl(lig, 17) = T(0)
    End If
  Next lig
  Application.ScreenUpdating = 0: Columns(18).ClearContents
  For col = 4 To 8
    Cells(2, col) = T(col - 3)
  Next col
  [R3].Resize(dlg) = Application.Index(Tbl, Evaluate("Row(" & "1:" & dlg & ")"), 17)
End Sub

effectivement...

danielco

XLDnaute Accro
@danielco aux posts #8 et #11 pourquoi écrire 2 fois .SpecialCells(xlCellTypeConstants) ???
Merci de l'avoir signalé.
Parkinson ? Sérieusement, j'ai dû cafouiller. J'ai testé mon code sur une ligne et c'est en renvoyant à la ligne que j'ai cacaté. Il faut lire bien sûr :

VB:
  [B:B].SpecialCells(xlCellTypeConstants) _
    .Offset(, 6).FormulaR1C1 = "=SUM(RC4:RC6)"

Daniel
 

Discussions similaires

Statistiques des forums

Discussions
312 101
Messages
2 085 300
Membres
102 857
dernier inscrit
Nony1931