Bonsoir,
explication de mon code qui lui est fonction du fichier fourni :
Sub MiseAJourMois()
Dim DerLig As Long, DerCol As Long, I As Integer
' on recherche la dernière colonne non vide à partir de la ligne 2
DerCol = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column
' si ce numéro de colonne + 2 (car les mois de cette ligne commence en colonne 2 et au mois d'avril, donc si dernière colonne = 4+2=6 = juin
' donc si dernière colonne +2 >= mois d'aujourdhui c'est qu'il n'y a pas de données à inscrire, on quitte
If DerCol + 2 >= Month(Date) Then Exit Sub
' recherche de la dernière ligne non vide
DerLig = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
' on lance une boucle de 1 mois mini au calcul du nombre de mois manquant s'il y a eu du retard dans la mise en place des formules
For I = 1 To ((Month(Date) - 2) - DerCol)
' sur la première cellule de la colonne à remplir, on inscrit la formule
Cells(2, DerCol + I).FormulaR1C1 = "=RC[-2]+RC[-1]"
' de cette cellule à la dernière ligne on autofill la formule
' la colonne à modifiée est décalée de I pour qu'à chaque boucle on travaille sur la colonne suivante
Cells(2, DerCol + I).AutoFill Destination:=Range(Cells(2, DerCol + I), Cells(DerLig, DerCol + I))
Next I
End Sub
Mais je le répète c'est adapté au fichier bidouille fourni. Et sur ce fichier cela fonctionne bien...
@ bientôt
LouReeD