OVH Cloud OVH Cloud

Total de colonnes zone variable

2 réponses
Avatar
Christian
Bonjour à tous
Via le forum, j'ai pu utiliser la procédure suivante (Merci à Jacky,
MichDenis et Fxm)
Sub test()
'zone des x colonnes et y lignes
zone = "B2:j15" 'à 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
'si vide, écrire formule somme après une ligne vide !! (c'est le +2)
Cells(lig + 2, col.Column).FormulaLocal = _
"=somme(" & col.Address & ")"
Cells(lig + 2, col.Column).Font.Bold = True
Cells(lig + 2, col.Column).EntireColumn.AutoFit
'passer à la colonne suivante
Next col
End Sub
qui me donne entière satisfaction sur une zone préalablement définie.
Sur base de cette procédure, j'essaye en vain de la modifier pour obtenir le
même résultat mais sur une zone définie par la manipulation des touches ctrl
+ *.
Je ne connais au départ ni le nombre de colonnes, ni le nombre de lignes qui
seront utilisées.
Si vous pouviez une nouvelle fois m'aider, je vous en serais reconnaissant.
--
Merci d'avance
Christian

2 réponses

Avatar
isabelle
bonjour Christian,

dim plage As Range
Set plage = Application.InputBox(prompt:="Faite votre sélection à l'aide de la souris", Type:=8)
zone = plage.Address

isabelle


Bonjour à tous
Via le forum, j'ai pu utiliser la procédure suivante (Merci à Jacky,
MichDenis et Fxm)
Sub test()
'zone des x colonnes et y lignes
zone = "B2:j15" 'à 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
'si vide, écrire formule somme après une ligne vide !! (c'est le +2)
Cells(lig + 2, col.Column).FormulaLocal = _
"=somme(" & col.Address & ")"
Cells(lig + 2, col.Column).Font.Bold = True
Cells(lig + 2, col.Column).EntireColumn.AutoFit
'passer à la colonne suivante
Next col
End Sub
qui me donne entière satisfaction sur une zone préalablement définie.
Sur base de cette procédure, j'essaye en vain de la modifier pour obtenir le
même résultat mais sur une zone définie par la manipulation des touches ctrl
+ *.
Je ne connais au départ ni le nombre de colonnes, ni le nombre de lignes qui
seront utilisées.
Si vous pouviez une nouvelle fois m'aider, je vous en serais reconnaissant.


Avatar
Christian
Merci Isabelle
Bonne après-midi
--
Christian



bonjour Christian,

dim plage As Range
Set plage = Application.InputBox(prompt:="Faite votre sélection à l'aide de la souris", Type:=8)
zone = plage.Address

isabelle


Bonjour à tous
Via le forum, j'ai pu utiliser la procédure suivante (Merci à Jacky,
MichDenis et Fxm)
Sub test()
'zone des x colonnes et y lignes
zone = "B2:j15" 'à 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
'si vide, écrire formule somme après une ligne vide !! (c'est le +2)
Cells(lig + 2, col.Column).FormulaLocal = _
"=somme(" & col.Address & ")"
Cells(lig + 2, col.Column).Font.Bold = True
Cells(lig + 2, col.Column).EntireColumn.AutoFit
'passer à la colonne suivante
Next col
End Sub
qui me donne entière satisfaction sur une zone préalablement définie.
Sur base de cette procédure, j'essaye en vain de la modifier pour obtenir le
même résultat mais sur une zone définie par la manipulation des touches ctrl
+ *.
Je ne connais au départ ni le nombre de colonnes, ni le nombre de lignes qui
seront utilisées.
Si vous pouviez une nouvelle fois m'aider, je vous en serais reconnaissant.