Recopier une formule jusqu'en bas d'un tableau via une macro

Bonjour à tous,

Étant grand débutant en VBA, je suis confronté à un petit problème : je dois recopier des formules (de AP2 jusqu'à BB2) jusqu'en bas d'un tableau, sachant que ce tableau ne fait pas toujours la même taille.

Voici le code :

'Formule AP2
    Range("AP2").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-41],'retour client'!C[-41]:C[-39],3,0),""-"")"
    Range("AP3").Select

'Formule AQ2
    Range("AQ2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISNUMBER(SEARCH(""acc en l'état"",RC[-11])),""À REMETTRE EN CYCLE"",IF(ISNUMBER(SEARCH(""en attente prise en compte"",RC[-11])),""DÉRO À POSER"",IF(ISNUMBER(SEARCH(""en attente décision"",RC[-11])),""ATTENTE DÉCISION CLIENT"",IF(ISNUMBER(SEARCH(""demande solde"",RC[-11])),""ATTENTE DÉCISION CLIENT"",IF(ISNUMBER(SEARCH(""à réparer"",RC[-11])),""À RÉPARER"",IF(ISNUMBER(SEARCH(""en attente envoi"",RC[-11])),""DÉRO À POSER"",IF(ISNUMBER(SEARCH(""en attente initialisation"",RC[-11])),""DÉRO À POSER"",""--"")))))))"
    Range("AQ3").Select

'Formule AR2-->AW2
    Range("AR2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISNUMBER(SEARCH(""en attente création"",RC[-9])),""ATTENTE GAMME"",IF(ISNUMBER(SEARCH(""Fiche terminée"",RC[-9])),""À RÉPARER"",IF(ISNUMBER(SEARCH(""en attente établissement"",RC[-9])),""ATTENTE GAMME"",IF(ISNUMBER(SEARCH(""en attente lancement"",RC[-9])),""ATTENTE GAMME"",IF(ISNUMBER(SEARCH(""validation client"",RC[-9])),""VALIDATION CLIENT"",0)))))"
    Range("AR2").Select
    Selection.AutoFill Destination:=Range("AR2:AW2"), Type:=xlFillDefault
    Range("AR2:AW2").Select
    Range("AW3").Select

'Formule AX2
    Range("AX2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-6]<>0,RC[-6],IF(RC[-5]<>0,RC[-5],IF(RC[-4]<>0,RC[-4],IF(RC[-3]<>0,RC[-3],IF(RC[-2]<>0,RC[-2],IF(RC[-1]<>0,RC[-1],""--""))))))"
    Range("AX3").Select

'Formule AY2
    Range("AY2").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-24]="""",""--"",""SOUS TRAITANCE"")"
    Range("AY3").Select

'Formule AZ2
    Range("AZ2").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-51],'valo of'!C[-51]:C[-35],17,0),0)"
    Range("AZ3").Select

'Formule BA2
    Range("BA2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(AND(RC[-10]=""déro à poser"",RC[-3]=""attente gamme""),""ATTENTE GAMME"",IF(AND(RC[-10]=""à remettre en cycle"",RC[-3]=""à réparer""),""À RÉPARER"",IF(AND(RC[-10]=""à remettre en cycle"",RC[-3]=""attente gamme""),""ATTENTE GAMME"",IF(AND(RC[-10]=""à remettre en cycle"",RC[-3]=""validation client""),""ATTENTE GAMME"",IF(AND(RC[-10]=""à réparer"",RC[-3]=""validation client""),""ATTENTE GAMME"",IF(AND(RC[-10]=""à réparer"",RC[-3]=""à réparer""),""À RÉPARER"",IF(AND(RC[-10]=""attente décision client"",RC[-3]=""validation client""),""ATTENTE DÉCISION CLIENT"",IF(AND(RC[-10]=""attente décision client"",RC[-3]=""attente gamme""),""ATTENTE DÉCISION CLIENT"",IF(AND(RC[-10]=""attente décision client"",RC[-3]=""à réparer""),""ATTENTE DÉCISION CLIENT"",IF(LEN(RC[-10])>LEN(RC[-3])=FALSE,RC[-3],RC[-10]))))))))))"
    Range("BA3").Select

'Formule BB2
    Range("BB2").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-3]=""SOUS TRAITANCE"",RC[-3],RC[-1])"
    Range("BB3").Select

'Descendre les formules
    Selection.AutoFill Destination:=Range("AP2:BB3760")
    Range("AP2:BB3760").Select
    Range("AP2").Select

Comme vous le voyez, dans la dernière étape de la macro, avec l'enregistreur, il me met BB3760, mais le tableau peut très bien parfois avoir 10 000 lignes ou 200...

En espérant avoir été assez clair, et que vous pourrez m'aider et m'expliquer,

Merci

Bonjour,

Je considère qu'il plus facile et plus rapide de mettre directement les formules dans la feuille, et de recopier par tirage, ce qui se fait en une fois. L'écriture de formules par macro prend plus de temps !

Si la recopie sur plusieurs milliers de lignes peut poser problème, dans ce cas une macro pour recopier la première ligne de formules qu'on a bêti dans la feuille est rapide à écrire.

Cordialement.

Rechercher des sujets similaires à "recopier formule bas tableau via macro"