Etendre formules plage variable vba

Valkiwi Messages postés 2 Statut Membre -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,

Je souhaiterais obtenir de l’aide pour un code VBA qui me permettrait de :
Etendre les formules sur une plage jusqu’à la dernière ligne de mon tableau.

Mon souci est que la ligne de début est une variable et la ligne de fin est une variable.

Je ne peux donc pas utiliser le type de code ci-dessous car tous mes indices sont des variables :

Dim DernLigne As Long

DernLigne = Range("S" & Rows.Count).End(xlUp).Row
Range("T6").AutoFill Destination:=Range("T6:Z" & DernLigne)


Exemple de mon fichier : Il y a des formules dans les colonnes T/U/V/W/X/Y/Z et je souhaiterais étendre ces formules vers le bas jusqu’à la dernière ligne de la colonne S.



Pourriez-vous m’aider svp ?

Je vous remercie par avance !

4 réponses

  1. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Tout simplement sélectionner la plage "$T$2:$Z$2" puis tirer la plage jusqu'à la fin de votre plage de données. Se qui va prendre moins de 60 secondes
    0
  2. Valkiwi Messages postés 2 Statut Membre
     
    Aha excellente réponse Le Pingou :)

    Ma question était de le faire en VBA. (comme précisé au 1er message).

    C'est surement ce que je finirai par faire si je ne trouve pas de code.
    0
  3. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Quelles sont les formules dans les colonnes ?
    0
  4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    essaie ceci:

    Option Explicit
    Sub ExtensionFormule()
        Dim DernLigne As Long
        With Worksheets("Feuil1") 'adapter feuille
            .Range("T6").FormulaR1C1 = "=TEXT(RC[-1],""mmm"")" ' adapter la formule
            DernLigne = .Range("S" & .Rows.Count).End(xlUp).Row
            .Range("T6").AutoFill Destination:=.Range("T6:Z6"), Type:=xlFillDefault
            .Range("T6:Z6").AutoFill Destination:=.Range("T6:Z" & DernLigne), Type:=xlFillDefault
        End With
    End Sub
    


    et cela

    https://forum.excel-pratique.com/excel/etendre-formules-plage-variable-vba-148640

    0