Copier une formule vers le bas dans une macro

Le
MEB
Bonjour,

J'ai enregistré une macro à l'aide de l'enregistreur et je cherche un
code qui me permettrait de copier une formule vers le bas mais jusqu'à
la fin des données et non jusqu'à la fin d'un nombre de ligne inutile.


Voici une partie de ma macro

Range("E3").Select
ActiveCell.FormulaR1C1 = "=R[31437]C[-1]"
Range("E3").Select
ActiveCell.FormulaR1C1 = "=RC[-1]/1440"
Range("E3").Select
Selection.AutoFill Destination:=Range("E3:E128")
Range("E3:E128").Select


Lorsque j'ai créé ma macro, le rapport avait 128 lignes mais selon le
rapport à partir duquel j'exécute ma macro il n'y aura pas toujours
128 lignes des fois plus et des fois moins de 128 lignes et comme
j'ai créé la copie de cette formule vers le bas en double cliquant sur
la flèche du coin inférieur droit de la cellule elle tiens compte des
données que j'avais lors de la création de la macro et non du nombre
de lignes que j'ai en réalité.

Avez-vous une solution pour moi.

Merci beaucoup
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23240841
Bonjour,

Cet exemple utilise la "Feuil1" et la colonne D pour établir la dernière ligne
occupée et pour définir jusqu'où la colonne des formules devra être copiée...
à toi d'adapter les variables.

'-----------------------------------------
Sub test()
Dim DerLig As Long
With Worksheets("Feuil1")
.Range("E3").FormulaR1C1 = "=R[31437]C[-1]"
DerLig = .Range("D65536").End(xlUp).Row
.Range("E3:E" & DerLig).FillDown
End With
End Sub
'-----------------------------------------


MichD
--------------------------------------------
"MEB" a écrit dans le message de groupe de discussion :


Bonjour,

J'ai enregistré une macro à l'aide de l'enregistreur et je cherche un
code qui me permettrait de copier une formule vers le bas mais jusqu'à
la fin des données et non jusqu'à la fin d'un nombre de ligne inutile.


Voici une partie de ma macro
...
Range("E3").Select
ActiveCell.FormulaR1C1 = "=R[31437]C[-1]"
Range("E3").Select
ActiveCell.FormulaR1C1 = "=RC[-1]/1440"
Range("E3").Select
Selection.AutoFill Destination:=Range("E3:E128")
Range("E3:E128").Select
...

Lorsque j'ai créé ma macro, le rapport avait 128 lignes mais selon le
rapport à partir duquel j'exécute ma macro il n'y aura pas toujours
128 lignes des fois plus et des fois moins de 128 lignes et comme
j'ai créé la copie de cette formule vers le bas en double cliquant sur
la flèche du coin inférieur droit de la cellule elle tiens compte des
données que j'avais lors de la création de la macro et non du nombre
de lignes que j'ai en réalité.

Avez-vous une solution pour moi.

Merci beaucoup
MichD
Le #23240831
Tu peux utiliser aussi ceci :


Sub test()
Dim DerLig As Long
With Worksheets("Feuil1")
DerLig = .Range("D65536").End(xlUp).Row
.Range("E3:E" & DerLig).FormulaR1C1 = "=R[31437]C[-1]"
End With
End Sub



MichD
--------------------------------------------
Publicité
Poster une réponse
Anonyme