Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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...
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…