Copier Coller plusieurs cellule vers le bas

Bonjour à tous,

Je me suis inscrit sur ce forum car je suis novice en VBA, et depuis tout à l'heure j'essaye de faire fonctionner une Macro mais je n'y arrive pas.

En faite j'ai fais fonctionner une première macro sur l'onglet Base brut de mon fichier, mais je dois en faire fonctionner une 2ème macro (Copier Coller 2) sur l'onglet conversion de mon fichier excel (voir en pièce jointe).

Et cette macro doit permettre de copier les cellules B5 à AR5 (en sachant que entre les deux il peut y avoir des vides dans les cellules), et ensuite faire l'équivalent d'un clic droit sur le bord droit de la cellule AR5, pour copier coller les formules des cellules B5 à AR5 jusqu'à la dernière ligne ayant une donnée sur la colonne A dans mon cas c'est jusqu'à la ligne 8 en partant de AR5, mais je souhaite que si ma Colonne A a des données jusqu'à la ligne 100 que mon copier coller s'adapte en fonction du nombre de ligne présent sur la colonne A.

J'ai fais juste un enregistrement de MACRO mais je ne sais pas comment la modifier pour que le copier coller fonctionne toujours jusqu'à la dernière ligne alimenté de la colonne A qui d'ailleurs elle même est alimenté par une macro que j'ai crée sur l'onglet brut mais qui est elle bien fonctionnelle.

Je mets juste l'enregistrement de la macro que j'ai commencé à faire, selon vous quels sont les modifications à faire ?

Sub Macro1()
'
' Macro1 Macro
'

'
Range("B5").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.AutoFill Destination:=Range("B5:AR8")
Range("B5:AR8").Select
End Sub

Je vous mets en pièce jointe un exemple de mon fichier de travail donc c'est dans l'onglet conversion et c'est la Macro 1 qui est affecté au clic bouton de forme ovale "Copier Coller Formule 2"

Merci d'avance de votre retour.

Bonsoir,

A tester :

Sub Macro1()

Dim DerniereColonne As Long, DerniereLigne As Long
Dim Sh As Worksheet

    Set Sh = Sheets("Conversion")
    With Sh
         DerniereColonne = .Cells(4, .Columns.Count).End(xlToLeft).Column
         DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
         With Range(.Cells(5, 2), .Cells(5, DerniereColonne))
            Debug.Print .Address
              .AutoFill Destination:=Range(Sh.Cells(5, 2), Sh.Cells(DerniereLigne, DerniereColonne))
         End With
         .Cells(5, 2).Activate
    End With
    Set Sh = Nothing

End Sub

Merci énormément pour votre réponse rapide, c'est super car ça fonctionne parfaitement !

Je vous souhaite une excellente soirée.

EDIT : car ça fonctionne parfaitement !

Encore heureux !

Rechercher des sujets similaires à "copier coller bas"