Utiliser une variable dans une formule VBA

Bonjour,

je galère sur la synthase pour insérer une variable dans une formule :

Je parviens à propager la formule avec la variable DERLIGN

'DECLARATION DE LA VARIABLE DERNIERE LIGNE

Dim DERLIGN As Long

'Étape 2: Téléchargez le dernier numéro de ligne utilisé

DERLIGN = Cells(Rows.Count, 1).End(xlUp).Row

       Range("O6").Select

    ActiveCell.FormulaR1C1 = _
        "=IF(((SUMIF(R6C4:R331C4,RC[-11],R6C26:R331C26)))=0,"""",((SUMIF(R6C4:R331C4,RC[-11],R6C26:R331C26))))"

    Selection.AutoFill Destination:=Range("O6:O" & DERLIGN)

Mais, dans la formule

    ActiveCell.FormulaR1C1 = _
        "=IF(((SUMIF(R6C4:R331C4,RC[-11],R6C26:R331C26)))=0,"""",((SUMIF(R6C4:R331C4,RC[-11],R6C26:R331C26))))"

je ne parviens par à insérer correctement la variable DERLIGN de sorte que la plage de calcul prise en compte s'adapte en fonction de la zone.

Pouvez-vous m'aider ?

dans le cas présent, la dernière ligne est la ligne 331.

Hello nesti,

Il faut remplacer 331 par " & DERLIGN & ". La formule devient donc :

ActiveCell.FormulaR1C1 = "=IF(((SUMIF(R6C4:R" & DERLIGN & "C4,RC[-11],R6C26:R" & DERLIGN & "C26)))=0,"""",((SUMIF(R6C4:R" & DERLIGN & "C4,RC[-11],R6C26:R" & DERLIGN & "C26))))"

It's a BIG SUCCES !!!

Merci beaucoup AntoineDL , ça marche... est c'était logique,

j'ai encore appris quelques chose en VBA aujourd'hui.

Rechercher des sujets similaires à "utiliser variable formule vba"