Bonjour,
Je vous joins la macro créée par l'enregistreur de macro.
Je voudrai la modifier en introduisant
- le numéro de dernière ligne de la feuille "Ecritures" dans la formule SOMMEPROD calculée dans la feuille "Balance",
- et le numéro de la dernière ligne de la feuille "Balance" dans la fonction FillDown à exécuter dans "Balance".
J'ai déjà déclaré les variables "dernières lignes" et mis leur calcul en attente en lignes de commentaires.
Option Explicit
Sub Balance()
'dlB dernière ligne de Balance
'dlE dernière ligne d'Ecritures
Dim dlB As Integer, dlE As Integer
'dlB = Sheets("Balance").Range("A" & Rows.Count).End(xlUp).Row 'dlB = numéro de la dernière ligne non vide de la colonne A de la feuille Balance
'dlE = Sheets("Ecritures 223").Range("A" & Rows.Count).End(xlUp).Row 'dlE = numéro de la dernière ligne non vide de la colonne A de la feuille Ecritures 223
'Calculs de Somme des Débits, Somme des Crédits, Solde débiteur, Solde créditeur sur la 1ère ligne (auto)
Range("C4").Select
ActiveCell.Formula = "=SUMPRODUCT(('Ecritures 223'!R3C3:R226C3='Balance'!RC[-2])*('Ecritures 223'!R3C8:R226C8))"
Range("D4").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT(('Ecritures 223'!R3C3:R226C3='Balance'!RC[-3])*('Ecritures 223'!R3C9:R226C9))"
Range("E4").Select
ActiveCell.FormulaR1C1 = "=IF((RC[-2]-RC[-1])>0,RC[-2]-RC[-1],0)"
Range("F4").Select
ActiveCell.FormulaR1C1 = "=IF((RC[-2]-RC[-3])>0,RC[-2]-RC[-3],0)"
'Recopie vers le bas des calculs dans le tableau (auto)
Range("C4:F71").Select
Selection.FillDown
'Calculs des totaux de colonnes (auto)
Range("C72").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-68]C:R[-1]C)"
Range("C72:F72").Select
Selection.FillRight
End Sub
Merci de me proposer la syntaxe correcte, ou une façon plus appropriée de réaliser cette tache.
Cordialement,
Wally