Afin d'automatiser le traitement d'un certain nombre de données extraites d'un logiciel chaque jours sous forme de fichier Excel, j'ai pu enregistrer une macro qui enregistre (entre autres) la saisie dans la colonne "E" (avec en-tête E1: Montant) de la formule " =C1*D1"
Après la saisie de cette formule dans E1 j'ai double cliqué sur son coin inférieur droit pour que ça se recopie sur l'ensemble des lignes
J'ai eu sur l'éditeur de code cette instruction :
ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]" ' la sisie de la formules
Range("E2").Select ' la sélection de E1
Selection.AutoFill Destination:=Range("E2:E16") ' la recopie avec le coin inférieur droit ( la dernière ligne étant ligne 16.)
En fait, les fichiers que j'extrais chaque jour comprennent entre 6000 et 8000 lignes.
Ma question est :
comment introduire la dernière ligne dans ma macro pour chaque fichier afin de balayer toutes les lignes sans plus ni moins?
autrement :
Que dois-je insérer dans ma macro pour que mon traitement touche exactement mes données sans que je sorte de la plage ni que j'élimine d'autres?
J'espère avoir été clair, et merci pour votre attention.
Configuration: Windows / Firefox 70.0
A voir également:
Prendre en considération la dernièe ligne dans une macro
Finalement le code est :
Sub Macro_DCD()
Dim derlig As Integer
Range("A1").Select
derlig = Range("A" & Rows.Count).End(xlUp).Row
Range("E1").Select
ActiveCell.FormulaR1C1 = "Montant"
Range("E2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
Range("E2").Select
Selection.AutoFill Destination:=Range("E2:E" & derlig)
Range("F1").Select
End Sub
Encore une fois merci