J'ai enregistr=E9 une macro =E0 l'aide de l'enregistreur et je cherche un
code qui me permettrait de copier une formule vers le bas mais jusqu'=E0
la fin des donn=E9es et non jusqu'=E0 la fin d'un nombre de ligne inutile.
Voici une partie de ma macro
...
Range("E3").Select
ActiveCell.FormulaR1C1 =3D "=3DR[31437]C[-1]"
Range("E3").Select
ActiveCell.FormulaR1C1 =3D "=3DRC[-1]/1440"
Range("E3").Select
Selection.AutoFill Destination:=3DRange("E3:E128")
Range("E3:E128").Select
...
Lorsque j'ai cr=E9=E9 ma macro, le rapport avait 128 lignes mais selon le
rapport =E0 partir duquel j'ex=E9cute 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=E9=E9 la copie de cette formule vers le bas en double cliquant sur
la fl=E8che du coin inf=E9rieur droit de la cellule elle tiens compte des
donn=E9es que j'avais lors de la cr=E9ation de la macro et non du nombre
de lignes que j'ai en r=E9alit=E9.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
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
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 :
ec7e6bb1-8b0c-4a8a-ae58-b189feba5b6a@a11g2000pro.googlegroups.com...
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é.
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
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
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
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