XL 2019 insérer dans une cellule une formule avec pour variable une plage de donnée (VBA)

mikado08

XLDnaute Nouveau
Bonjour,

Je cherche par le biais d'une InputBox à selectionner une plage de cellule qui doit s'inserer dans ma formule SOUS.TOTAL... mais ca ne fonctionne pas


VB:
Public Sub cmdsst_Click()
'sst
Selection.EntireRow.Insert
Range("A27:R27").Copy Range("A" & ActiveCell.Row)
'rempli la cellule du nom
nom = Application.InputBox("selection le titre du paragraphe", type8)
ActiveSheet.Cells(ActiveCell.Row, 5).Value = "SOUS-TOTAL : " & nom

'NE FONCTIONNE PAS
Plage = Application.InputBox("selection la plage colonne R de la somme à faire", "PLAGE COLONNE R", , , , , , type8)
Plageconv = Application.ConvertFormula(Plage, fromReferenceStyle:=xlR1C1, toReferenceStyle:=xlA1)
ActiveSheet.Cells(ActiveCell.Row, 17).FormulaLocal = "=SOUS.TOTAL(109;" & Plageconv & ")"

Si vous avez des suggestions je suis preneur !! :)
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Presque ça. Essayez comme ça :
VB:
Public Sub cmdsst_Click()
   Dim Rng As Range
   Set Rng = Application.InputBox("Selectionnez la plage à sommer", Type:=8)
   ActiveSheet.Cells(ActiveCell.Row, 17).Formula = "=SUBTOTAL(109," & Rng.Address & ")"
   End Sub
 

Dranreb

XLDnaute Barbatruc
Essayez aussi ça :
VB:
Public Sub cmdsst_Click()
   Dim Rng As Range
   Selection.EntireRow.Insert
   Range("A27:R27").Copy Range("A" & ActiveCell.Row)
   On Error Resume Next
   Set Rng = Application.InputBox("selectionnez le titre du paragraphe", Type:=8)
   If Err Then Exit Sub
   ActiveSheet.Cells(ActiveCell.Row, 5).Value = "SOUS-TOTAL " & Rng.Value & ":"
   ActiveSheet.Cells(ActiveCell.Row, 17).FormulaR1C1 = "=SUBTOTAL(109,R" & Rng.Row + 1 & "C:R[-1]C)"
   End Sub
 
Dernière édition:

mikado08

XLDnaute Nouveau
@Dranreb merci beaucoup ca fonctionne quasi à la perfection :)

VB:
ActiveSheet.Cells(ActiveCell.Row, 17).FormulaR1C1 = "=SUBTOTAL(109,R" & Plage.Row & "C:R[-1]C)"

la seule chose qui me bloque encore c'est que j'écris en colonne 17 (soit Q) une plage que je somme en R mais il ne prend pas en compte dans la formule la colonnes R juste la plage de lignes...
 

Statistiques des forums

Discussions
315 090
Messages
2 116 106
Membres
112 661
dernier inscrit
ceucri