VBA : Tirer formule jusqu'a la dernière ligne (variable)

Bonjour à tous!

Je fais appel à vos expertises afin compléter un code, me permettant de tirer automatiquement une formule jusqu'à la dernière ligne de tableaux variables
(Comme quand on double clic manuellement sur sur le coin de la cellule)

Mes fichiers, issus d'une extraction d'un logiciel, comportant en colonne A des noms, en B des montants débités et en C des montants crédités ect..

Ma macro actuelle : insère un colonne en D, renomme la colonne en "Solde, calcule le solde soit les débits - crédits ( B - D )

Columns("D:D").Select
Selection.Insert Shift:=xlToRight
Range("D1").Select ActiveCell.FormulaR1C1 = "Solde"
Range("D2").Select Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=+RC[-2]-RC[-1]"
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D756")
Range("D2:D756").Select

Vous l'aurez compris, mon problème est que peut importe l'extraction, le calcule se fera jusqu'à la cellule 756..
Vous comprendrez également que je ne souhaite pas mettre un nombre large de potentielle ligne .. Mais vraiment arrêter le calcul à la dernière ligne, peut importe le nombre de ligne que le tableau disposera..

Je vous remercie tous par avance pour vos retours!!!!

Bonjour,

En joignant un fichier exemple, tu augmenterais tes chances d'obtenir une réponse adaptée.
Plutôt qu'écrire ta formule, puis la recopier, tu peux l'inscrire directement dans toute la plage, avec quelque chose comme

Range("D2:D" & Cells(Rows.Count, 1).End(xlUp).Row).Formula = "=B2-C2"

La partie Cells(Rows.Count, 1).End(xlUp).Row permet de repérer le n° de ligne de la dernière cellule non-vide, en colonne A

Merci beaucouuuuup!!!!!!!!!!!!

Pour la réponse et pour l'astuce!

Hello!! Je reviens sur ce sujet..

Comment peut-on appliquer ce code à partir d'une cellule active ? et non pas forcément à partir de D2

C'est à dire que la macro va chercher la cellule ou devrait commencer le calcule afin de tirer une nouvelle fois jusqu'à la dernière ligne.

Range("D2").Select
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate

Range("D2:D" & Cells(Rows.Count, 1).End(xlUp).Row).Formula = "=B2-C2"        'Appliquer la formule à la cellule active

Merci encore par avance

Bonjour,

On ne connaît pas le contexte (et il n'y a toujours pas de fichier joint, pour illustrer), mais en quoi est-ce gênant de recopier la formule depuis D2 plutôt que depuis la cellule active ? D'autant que si l'utilisateur ne sélectionne pas la bonne cellule, le résultat risque d'être surprenant (ou catastrophique, c'est selon

Rechercher des sujets similaires à "vba tirer formule derniere ligne variable"