Bonjour à tous et toutes
Donnée: tableau de base = 66 colonnes sur 100lignes
Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux
colonnes non vides.
Actuellement, j'ai la somme sur l'entiereté des 66 colonnes.
En vous remerciant d'avance pour toute aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonsoir, Une piste peut-être.... C'est supposer que le ligne 1 est une ligne de titre. sinon changer cette ligne : Application.Sum(Range(Cells(1, c.Column), Cells(100, c.Column)))
'------------- Sub jj() For Each c In Range("a1:bn1").Columns total = Application.Sum(Range(Cells(2, c.Column), Cells(101, c.Column))) If total <> 0 Then MsgBox total 'Ligne ci dessous à valider si la somme doit s'inscrire en ligne 103 'Range(Cells(103, c.Column), Cells(103, c.Column)) = total End If Next End Sub '---------- Salutations JJ
"Christian" a écrit dans le message de news:
Bonjour à tous et toutes Donnée: tableau de base = 66 colonnes sur 100lignes Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux
colonnes non vides. Actuellement, j'ai la somme sur l'entiereté des 66 colonnes. En vous remerciant d'avance pour toute aide.
Merci Christian
Bonsoir,
Une piste peut-être....
C'est supposer que le ligne 1 est une ligne de titre.
sinon changer cette ligne : Application.Sum(Range(Cells(1, c.Column),
Cells(100, c.Column)))
'-------------
Sub jj()
For Each c In Range("a1:bn1").Columns
total = Application.Sum(Range(Cells(2, c.Column), Cells(101, c.Column)))
If total <> 0 Then
MsgBox total
'Ligne ci dessous à valider si la somme doit s'inscrire en ligne 103
'Range(Cells(103, c.Column), Cells(103, c.Column)) = total
End If
Next
End Sub
'----------
Salutations
JJ
"Christian" <Christian@discussions.microsoft.com> a écrit dans le message de
news:51D56C5C-FCC2-4537-9F8D-F64FDEC4BE34@microsoft.com...
Bonjour à tous et toutes
Donnée: tableau de base = 66 colonnes sur 100lignes
Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement
aux
colonnes non vides.
Actuellement, j'ai la somme sur l'entiereté des 66 colonnes.
En vous remerciant d'avance pour toute aide.
Bonsoir, Une piste peut-être.... C'est supposer que le ligne 1 est une ligne de titre. sinon changer cette ligne : Application.Sum(Range(Cells(1, c.Column), Cells(100, c.Column)))
'------------- Sub jj() For Each c In Range("a1:bn1").Columns total = Application.Sum(Range(Cells(2, c.Column), Cells(101, c.Column))) If total <> 0 Then MsgBox total 'Ligne ci dessous à valider si la somme doit s'inscrire en ligne 103 'Range(Cells(103, c.Column), Cells(103, c.Column)) = total End If Next End Sub '---------- Salutations JJ
"Christian" a écrit dans le message de news:
Bonjour à tous et toutes Donnée: tableau de base = 66 colonnes sur 100lignes Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux
colonnes non vides. Actuellement, j'ai la somme sur l'entiereté des 66 colonnes. En vous remerciant d'avance pour toute aide.
Merci Christian
michdenis
Bonjour Christian,
As-tu essayé quelque chose comme ceci :
'----------------------------- Sub test()
Dim Rg As Range, S As Double
With Feuil1 Set Rg = .Range("A1:BN1") End With For Each c In Rg.Columns If Application.CountA(c.EntireColumn) <> 0 Then S = S + Application.Sum(c.EntireColumn) End If Next MsgBox S End Sub '-----------------------------
Salutations!
"Christian" a écrit dans le message de news:
Bonjour à tous et toutes Donnée: tableau de base = 66 colonnes sur 100lignes Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux colonnes non vides. Actuellement, j'ai la somme sur l'entiereté des 66 colonnes. En vous remerciant d'avance pour toute aide.
Merci Christian
Bonjour Christian,
As-tu essayé quelque chose comme ceci :
'-----------------------------
Sub test()
Dim Rg As Range, S As Double
With Feuil1
Set Rg = .Range("A1:BN1")
End With
For Each c In Rg.Columns
If Application.CountA(c.EntireColumn) <> 0 Then
S = S + Application.Sum(c.EntireColumn)
End If
Next
MsgBox S
End Sub
'-----------------------------
Salutations!
"Christian" <Christian@discussions.microsoft.com> a écrit dans le message de news:
51D56C5C-FCC2-4537-9F8D-F64FDEC4BE34@microsoft.com...
Bonjour à tous et toutes
Donnée: tableau de base = 66 colonnes sur 100lignes
Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux
colonnes non vides.
Actuellement, j'ai la somme sur l'entiereté des 66 colonnes.
En vous remerciant d'avance pour toute aide.
With Feuil1 Set Rg = .Range("A1:BN1") End With For Each c In Rg.Columns If Application.CountA(c.EntireColumn) <> 0 Then S = S + Application.Sum(c.EntireColumn) End If Next MsgBox S End Sub '-----------------------------
Salutations!
"Christian" a écrit dans le message de news:
Bonjour à tous et toutes Donnée: tableau de base = 66 colonnes sur 100lignes Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux colonnes non vides. Actuellement, j'ai la somme sur l'entiereté des 66 colonnes. En vous remerciant d'avance pour toute aide.
Merci Christian
FxM
Bonjour à tous et toutes Donnée: tableau de base = 66 colonnes sur 100lignes Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux colonnes non vides. Actuellement, j'ai la somme sur l'entiereté des 66 colonnes. En vous remerciant d'avance pour toute aide.
Merci Christian
Bonsoir,
Si j'ai bien compris la question (pas sûr ...), tu peux t'inspirer de ce qui suit. Attention aux coupures de ligne.
@+ FxM
Sub test() 'zone des 66 colonnes et 100 lignes zone = "B2:BO101" 'à adapter si besoin
'no de la dernière ligne lig = Range(zone)(1).Row + Range(zone).Rows.Count - 1
'parcourir chaque colonne For Each col In Range(zone).Columns
On Error Resume Next 'pour vérifier que les colonnes ne contiennent aucune cellule vide If col.SpecialCells(xlCellTypeBlanks).Count = 0 Then
'si vide, écrire formule somme après une ligne vide !! (c'est le +2) Cells(lig + 2, col.Column).FormulaLocal = _ "=somme(" & col.Address & ")"
'sinon Else
'enlever ce que la cellule contient Cells(lig + 2, col.Column).ClearContents End If On Error GoTo 0
'passer à la colonne suivante Next col End Sub
Bonjour à tous et toutes
Donnée: tableau de base = 66 colonnes sur 100lignes
Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux
colonnes non vides.
Actuellement, j'ai la somme sur l'entiereté des 66 colonnes.
En vous remerciant d'avance pour toute aide.
Merci
Christian
Bonsoir,
Si j'ai bien compris la question (pas sûr ...), tu peux t'inspirer de ce
qui suit. Attention aux coupures de ligne.
@+
FxM
Sub test()
'zone des 66 colonnes et 100 lignes
zone = "B2:BO101" 'à adapter si besoin
'no de la dernière ligne
lig = Range(zone)(1).Row + Range(zone).Rows.Count - 1
'parcourir chaque colonne
For Each col In Range(zone).Columns
On Error Resume Next
'pour vérifier que les colonnes ne contiennent aucune cellule vide
If col.SpecialCells(xlCellTypeBlanks).Count = 0 Then
'si vide, écrire formule somme après une ligne vide !! (c'est le +2)
Cells(lig + 2, col.Column).FormulaLocal = _
"=somme(" & col.Address & ")"
'sinon
Else
'enlever ce que la cellule contient
Cells(lig + 2, col.Column).ClearContents
End If
On Error GoTo 0
Bonjour à tous et toutes Donnée: tableau de base = 66 colonnes sur 100lignes Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux colonnes non vides. Actuellement, j'ai la somme sur l'entiereté des 66 colonnes. En vous remerciant d'avance pour toute aide.
Merci Christian
Bonsoir,
Si j'ai bien compris la question (pas sûr ...), tu peux t'inspirer de ce qui suit. Attention aux coupures de ligne.
@+ FxM
Sub test() 'zone des 66 colonnes et 100 lignes zone = "B2:BO101" 'à adapter si besoin
'no de la dernière ligne lig = Range(zone)(1).Row + Range(zone).Rows.Count - 1
'parcourir chaque colonne For Each col In Range(zone).Columns
On Error Resume Next 'pour vérifier que les colonnes ne contiennent aucune cellule vide If col.SpecialCells(xlCellTypeBlanks).Count = 0 Then
'si vide, écrire formule somme après une ligne vide !! (c'est le +2) Cells(lig + 2, col.Column).FormulaLocal = _ "=somme(" & col.Address & ")"
'sinon Else
'enlever ce que la cellule contient Cells(lig + 2, col.Column).ClearContents End If On Error GoTo 0
'passer à la colonne suivante Next col End Sub
Christian
Bonjour Je vous remercie de m'avoir lu et répondu. J'essaye tout de suite les différentes propositions. -- Merci encore Christian
Bonjour à tous et toutes Donnée: tableau de base = 66 colonnes sur 100lignes Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux colonnes non vides. Actuellement, j'ai la somme sur l'entiereté des 66 colonnes. En vous remerciant d'avance pour toute aide.
Merci Christian
Bonsoir,
Si j'ai bien compris la question (pas sûr ...), tu peux t'inspirer de ce qui suit. Attention aux coupures de ligne.
@+ FxM
Sub test() 'zone des 66 colonnes et 100 lignes zone = "B2:BO101" 'à adapter si besoin
'no de la dernière ligne lig = Range(zone)(1).Row + Range(zone).Rows.Count - 1
'parcourir chaque colonne For Each col In Range(zone).Columns
On Error Resume Next 'pour vérifier que les colonnes ne contiennent aucune cellule vide If col.SpecialCells(xlCellTypeBlanks).Count = 0 Then
'si vide, écrire formule somme après une ligne vide !! (c'est le +2) Cells(lig + 2, col.Column).FormulaLocal = _ "=somme(" & col.Address & ")"
'sinon Else
'enlever ce que la cellule contient Cells(lig + 2, col.Column).ClearContents End If On Error GoTo 0
'passer à la colonne suivante Next col End Sub
Bonjour
Je vous remercie de m'avoir lu et répondu.
J'essaye tout de suite les différentes propositions.
--
Merci encore
Christian
Bonjour à tous et toutes
Donnée: tableau de base = 66 colonnes sur 100lignes
Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux
colonnes non vides.
Actuellement, j'ai la somme sur l'entiereté des 66 colonnes.
En vous remerciant d'avance pour toute aide.
Merci
Christian
Bonsoir,
Si j'ai bien compris la question (pas sûr ...), tu peux t'inspirer de ce
qui suit. Attention aux coupures de ligne.
@+
FxM
Sub test()
'zone des 66 colonnes et 100 lignes
zone = "B2:BO101" 'à adapter si besoin
'no de la dernière ligne
lig = Range(zone)(1).Row + Range(zone).Rows.Count - 1
'parcourir chaque colonne
For Each col In Range(zone).Columns
On Error Resume Next
'pour vérifier que les colonnes ne contiennent aucune cellule vide
If col.SpecialCells(xlCellTypeBlanks).Count = 0 Then
'si vide, écrire formule somme après une ligne vide !! (c'est le +2)
Cells(lig + 2, col.Column).FormulaLocal = _
"=somme(" & col.Address & ")"
'sinon
Else
'enlever ce que la cellule contient
Cells(lig + 2, col.Column).ClearContents
End If
On Error GoTo 0
Bonjour Je vous remercie de m'avoir lu et répondu. J'essaye tout de suite les différentes propositions. -- Merci encore Christian
Bonjour à tous et toutes Donnée: tableau de base = 66 colonnes sur 100lignes Comment indiqué en VBA, d'effectuer une somme par colonne et uniquement aux colonnes non vides. Actuellement, j'ai la somme sur l'entiereté des 66 colonnes. En vous remerciant d'avance pour toute aide.
Merci Christian
Bonsoir,
Si j'ai bien compris la question (pas sûr ...), tu peux t'inspirer de ce qui suit. Attention aux coupures de ligne.
@+ FxM
Sub test() 'zone des 66 colonnes et 100 lignes zone = "B2:BO101" 'à adapter si besoin
'no de la dernière ligne lig = Range(zone)(1).Row + Range(zone).Rows.Count - 1
'parcourir chaque colonne For Each col In Range(zone).Columns
On Error Resume Next 'pour vérifier que les colonnes ne contiennent aucune cellule vide If col.SpecialCells(xlCellTypeBlanks).Count = 0 Then
'si vide, écrire formule somme après une ligne vide !! (c'est le +2) Cells(lig + 2, col.Column).FormulaLocal = _ "=somme(" & col.Address & ")"
'sinon Else
'enlever ce que la cellule contient Cells(lig + 2, col.Column).ClearContents End If On Error GoTo 0