Macro jusqu'à dernière cellule remplie

Bonjour à tous !

J'ai créé une petite macro de formule et l'ai dupliquée sur la ligne suivante (La formule de base se situe en I4 et je l'ai copiée en I5).

J'aimerais que ma macro vérifie si il y a des données dans la colonne A (démarrant de A4 et jusqu'à la fin des cellules remplies sachant que le nombre de lignes est toujours variable) et applique la formule en colonne I de la ligne correspondante. Dès qu'il n'y a plus de données en A, alors la macro s'arrêterais...

J'espère que vous allez pouvoir m'aider... !

Merci

Olivier

Voici la macro :

Sub Macro3()

'

' Macro3 Macro

'

ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",IF(RC[-7]="""",""1"",""0""))"

ActiveCell.Select

Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:= _

xlFillDefault

ActiveCell.Range("A1:A2").Select

End Sub

Hello,

à tester! Attention, il faut remplacer "NOM_FEUILLE" par le nom de la feuille de travail.

Dim nbLignes as Long

nbLignes = Sheets("NOM_FEUILLE").Cells(Rows.Count,"A").End(Xlup).Row

For numLigne = 4 to nbLignes
   if Sheets("NOM_FEUILLE").Cells(numLigne,1) <> "" then
       Sheets("NOM_FEUILLE").Cells(numLigne,9).FormulaR1C1 = "=IF(RC[-8]<>"""",IF(RC[-7]="""",""1"",""0""))"
   end if
Next numLigne

bonjour

à tester

Sub Macro3()
'
' Macro3 Macro
'
 Range("I4").FormulaR1C1 = "=IF(RC[-8]<>"""",IF(RC[-7]="""",""1"",""0""))"
 dl = Cells(Rows.Count, 1).End(xlUp).Row
 Range("i4").AutoFill Destination:=Range("i4:i" & dl), Type:=xlFillDefault
End Sub

merci pour les réponses déjà...

@ h2so4 :

J'ai une erreur dans cette ligne :

Range("i4").AutoFill Destination:=Range("i5:i" & dl), Type:=xlFillDefault

...?

merci


... et pour répondre à d3d9x;

j'ai une erreur dans la ligne Next numLigne...

j'ai bien essayé de remplacer numligne par nbLignes car j'ai pensé que c'était peut etre une erreur de typo...mais là non plus ça ne marche pas !

Merci...

J'ai oublié de déclarer la variable

Sub test()
Dim nbLignes As Long, numLignes As Long

nbLignes = Sheets("Feuil1").Cells(Rows.Count, "A").End(xlUp).Row

For numLigne = 4 To nbLignes
   If Sheets("Feuil1").Cells(numLigne, 1) <> "" Then
       Sheets("Feuil1").Cells(numLigne, 9).FormulaR1C1 = "=IF(RC[-8]<>"""",IF(RC[-7]="""",""1"",""0""))"
   End If
Next numLigne
End Sub

Merci du retour...mais j'ai toujours une erreur ... j'ai pourtant remplacer le nom de feuille !

dans cette ligne : nbLignes = Sheets(outputs).Cells(Rows.Count, "A").End(xlUp).Row

voici la macro complete...

Sub Macro3()

Dim nbLignes As Long, numLignes As Long

nbLignes = Sheets(outputs).Cells(Rows.Count, "A").End(xlUp).Row

For numLigne = 4 To nbLignes

If Sheets(outputs).Cells(numLigne, 1) <> "" Then

Sheets(outputs).Cells(numLigne, 9).FormulaR1C1 = "=IF(RC[-8]<>"""",IF(RC[-7]="""",""1"",""0""))"

End If

Next numLigne

End Sub

rebonjour;

macro corrigée dans mon message précédent

Attention, si ta feuille s'appelle outputs alors la ligne doit être

Sheets("outputs") et non Sheets(outputs)

par contre si tu as

Dim outputs as String
outputs = "nom de la feuille"

alors La ligne doit être

Sheets(outputs)

...Trop fort H2SO4 !

Ca marche... merci de votre aide; et aussi à d3d9x !

Rechercher des sujets similaires à "macro derniere remplie"