OVH Cloud OVH Cloud

Macro avec valeur relative

16 réponses
Avatar
JP
bonjour,
je voudrait créer une macro qui dit ceci:
"=Soustotal(9;"la cellule ou je me trouve +1 vers le bas";"la dernière
cellule remplie de la colonne ou je me trouve"

Merci d'avance

10 réponses

1 2
Avatar
Youky
lig = Selection.Row + 1
col = Selection.Column
bas = Cells(65536, col).End(xlUp).Row
fx = "=Sum(" & "R" & lig & "C" & col & ":R" & bas & "C" & col & ")"
MsgBox fx '[A1]=fx

Salut, en principe cà doit faire...
Youky
"JP" a écrit dans le message de news:

bonjour,
je voudrait créer une macro qui dit ceci:
"=Soustotal(9;"la cellule ou je me trouve +1 vers le bas";"la dernière
cellule remplie de la colonne ou je me trouve"

Merci d'avance


Avatar
anonymousA
Bonjour,

With ActiveCell
MsgBox Application.WorksheetFunction.Subtotal(9, Range(.Offset(1, 0),
Cells(65536, .Column).End(xlUp)))
End With

A+
Avatar
JP
Merci c'est presque ca en fait je voudrais que la formule s'incrive dans la
cellule
Avatar
JP
Merci c'est presque ca en fait je voudrais que la formule
Soustotal(9;....)s'incrive dans la cellule
Avatar
Youky
lig = Selection.Row + 1
col = Selection.Column
bas = Cells(65536, col).End(xlUp).Row
fx = "=SUBTOTAL(9," & "R" & lig & "C" & col & ":R" & bas & "C" & col & ")"
MsgBox fx
[A1] = fx
dans ce cas de toute facon ca renvoie pareil que Sum
Youky
"JP" a écrit dans le message de news:

Merci c'est presque ca en fait je voudrais que la formule
Soustotal(9;....)s'incrive dans la cellule



Avatar
Youky
Oups Oublier...!

lig = Selection.Row + 1
col = Selection.Column
bas = Cells(65536, col).End(xlUp).Row
fx = "=SUBTOTAL(9," & "R" & lig & "C" & col & ":R" & bas & "C" & col & ")"
Selection.Value = fx

Youky
Avatar
JP
merci beaucoup

j'ai un peu modifié la formule comme cela :

lig = Selection.Row + 1
col = Selection.Column
bas = Cells(65536, col).End(xlUp).Row
ActiveCell.FormulaR1C1 = "=SUBTOTAL(9," & "R" & lig & "C" & col & ":R" & bas
& "C" & col & ")"

Ca marche mais la formule s'inscrit avec les $
mais je suis un peu compliqué et je ne veux pas de ces $
peu tu me dire ce que je doit rectifier

merci d'avance
Avatar
AV
| mais je suis un peu compliqué et je ne veux pas de ces $

ActiveCell.FormulaR1C1 = "=SUBTOTAL(9," & "R[" & lig & "]C[" & col & "]:R[" &
bas & "]C[" & col & "])"

AV
Avatar
michdenis
Il y a aussi ceci :

'----------------------
Sub test()

Dim Rg As Range, Rg1 As Range

With Worksheets("Feuil1")
Set Rg = .Range("A5")
Set Rg1 = .Cells(65536, 1).End(xlUp)
.Range("B1").Formula = "=SUBTOTAL(9," & Rg.Address & ":" & Rg1.Address & ")"
End With

End Sub
'----------------------


Salutations!


"Youky" a écrit dans le message de news: 43eb5220$0$6681$
lig = Selection.Row + 1
col = Selection.Column
bas = Cells(65536, col).End(xlUp).Row
fx = "=SUBTOTAL(9," & "R" & lig & "C" & col & ":R" & bas & "C" & col & ")"
MsgBox fx
[A1] = fx
dans ce cas de toute facon ca renvoie pareil que Sum
Youky
"JP" a écrit dans le message de news:

Merci c'est presque ca en fait je voudrais que la formule
Soustotal(9;....)s'incrive dans la cellule



Avatar
isabelle
Denis, le monsieur a dit "relatif" ;-)

.Range("B1").Formula = "=SUBTOTAL(9," & Rg.Address(0, 0) & ":" & Rg1.Address(0, 0) & ")"

isabelle

Il y a aussi ceci :

'----------------------
Sub test()

Dim Rg As Range, Rg1 As Range

With Worksheets("Feuil1")
Set Rg = .Range("A5")
Set Rg1 = .Cells(65536, 1).End(xlUp)
.Range("B1").Formula = "=SUBTOTAL(9," & Rg.Address & ":" & Rg1.Address & ")"
End With

End Sub
'----------------------


Salutations!


"Youky" a écrit dans le message de news: 43eb5220$0$6681$
lig = Selection.Row + 1
col = Selection.Column
bas = Cells(65536, col).End(xlUp).Row
fx = "=SUBTOTAL(9," & "R" & lig & "C" & col & ":R" & bas & "C" & col & ")"
MsgBox fx
[A1] = fx
dans ce cas de toute facon ca renvoie pareil que Sum
Youky
"JP" a écrit dans le message de news:


Merci c'est presque ca en fait je voudrais que la formule
Soustotal(9;....)s'incrive dans la cellule









1 2