VBA-Faire arreter formule sur la derniere ligne

Bonsoir

j'aimerais faire arrêter une formule sur la dernière ligne quelque soit le nombre de ligne.

Ma formule se trouve en feuille 2 et fait la recherche en feuille 1. Cependant le code ci dessous va jusqu'à la 47eme ligne.

Pouvez vous donc m'aider à insérer un code qui me permettrait de descendre jusqu'à la dernière ligne, sachant que je peux ne pas connaitre le nombre de lignes.

En feuille 2 un double clic sur la formule en C2 descend jusque la dernière ligne automatiquement. Cela ne pose pas problème car c'est un XLFillDefault. Mais faut il aussi prévoir un code qui descend ma formule aussi jusque la dernière ligne ?

Voici le code ci dessous + le fichier en pièce jointe

Sub Macro2()

'

'

Range("C2").Select

Selection.FormulaArray = _

"=SUM((Feuil1!R2C1:R47C1=Feuil2!RC[-2])*Feuil1!R2C3:R47C3)*Feuil2!R1C[6]"

Selection.AutoFill Destination:=Range("C2:C4"), Type:=xlFillDefault

Range("C2:C4").Select

End Sub[/b]

Bonsoir

A tester

Sub Macro2()
'
' Macro2 Macro
' Calcule le CA-1 et le rapporte au nombre de semaines ecoulées
'
' Touche de raccourci du clavier: Ctrl+a
'
    Range("C2").FormulaArray = _
        "=SUM((Feuil1!R2C1:R47C1=Feuil2!RC[-2])*Feuil1!R2C3:R47C3)*Feuil2!R1C[6]"
    Range("C2").AutoFill Destination:=Range("C2:C" & Range("A" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
End Sub

Bonjour, salut Banzai

J'ai compris différemment

Cordialement

Bonsoir à vous deux. Merci tout d'abord pour vos solutions.

Elles fonctionnent toutes les deux.

Banzai64, la formule à appliquer jusque la dernière ligne est pour la feuille1. Je souhaite appliquer la formule écrite en feuille 2 jusque la dernière ligne de la feuille1. Aprés la formule tiré jusque la dernière ligne de la feuille 2 ça me va aussi (c'est du bonus).

Amadeus, il va falloir que je regarde ton code a tête reposé. ça fonctionne.

Je laisse encore le message ouvert à la résolution au cas où Banzai voudrait modifier. Je le cocherai en résolu dans quelques jours.

Merci encore

Bonsoir

A tester

Sub Macro2()
Dim NbLg As Long
  ' Macro2 Macro
  ' Calcule le CA-1 et le rapporte au nombre de semaines ecoulées
  '
  ' Touche de raccourci du clavier: Ctrl+a
  '
  NbLg = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
  Range("C2").FormulaArray = _
                "=SUM((Feuil1!R2C1:R" & NbLg & "C1=Feuil2!RC[-2])*Feuil1!R2C3:R" & NbLg & "C3)*Feuil2!R1C[6]"
  Range("C2").AutoFill Destination:=Range("C2:C" & Range("A" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
End Sub

Bonjour à vous deux

ça fonctionne trés bien merci

Bonne journée

Rechercher des sujets similaires à "vba arreter formule derniere ligne"