Nombre de lignes qui change dans formule VBA

Bonjour à tous,

Voici mon code :

Sub essais()

Sheets("Feuil2").Select

Dim Der_2 As Long
Der_2 = Range("A1").End(xlDown).Row

Sheets("Feuil1").Select

Dim Der_1 As Long
Der_1 = Range("A1").End(xlDown).Row

Range("B1").FormulaLocal = "=SOMME.SI.ENS(Feuil2!$D$1:$D$9;Feuil2!$A$1:$A$9;Feuil1!A1;Feuil2!$C$1:$C$9;""Oui"")"
Range("B1").Select
Range(Cells(1, 2), Cells(Der_1, 2)).FillDown

End Sub

Le nombre de lignes pouvant changer dans ma deuxième feuille, j'aimerais écrire une formule (formule en gras) qui puisse s'adapter à ces changements. Par exemple, je souhaiterai que la plage de somme de ma formule Somme.Si.Ens aille de D1 à la dernière ligne de D tout en gardant l'aspect figé mais je n'ai aucune idée de comment faire.

Pourriez vous m'aider ?

Merci d'avance,

Miam_Hazz

Bonjour Miam_Hazz

Si j'ai bien tout compris et sans fichier

Sub essais()
  Dim Der_1 As Long
  Dim Der_2 As Long

  Der_1 = Sheets("Feuil1").Range("A1").End(xlDown).Row
  Der_2 = Sheets("Feuil2").Range("A1").End(xlDown).Row

  With Sheets("Feuil1")
    .Range("B1").FormulaLocal = "=SOMME.SI.ENS(Feuil2!$D$1:$D$" & Der_2 & ";Feuil2!$A$1:$A$" & Der_2 & ";Feuil1!A1;Feuil2!$C$1:$C$" & Der_2 & ";""Oui"")"
    .Range(Cells(1, 2), Cells(Der_1, 2)).FillDown
  End With
End Sub

Inutile de faire des "Select" qui alourdissent le code

@+

Bonjour BrunoM45,

Votre réponse m'a beaucoup aidé, merci !

Bonne journée,

Miam_Hazz

Rechercher des sujets similaires à "nombre lignes qui change formule vba"