Problème de format après insertion

Résolu
Bonjour,
Et bonne année.

Je travaille sous Excel 2007.

Je suis en train de faire une Sub pour créer un calendrier. Une date par colonne.

Mon code est comme suit :

Sub Creation_Calendrier

Dim n As Long
Dim m As Long
Dim myFormul As String

Range ("A1").Select
For n = 1 to 370
m = n - 5

myFormul = "=AUJOURDHUI()+" & n

ActiveCell.Offset(ColumnOffset:=1).Activate
ActiveCell.FormulaR1C1 = myFormul

Next n
End Sub

Cela me propage bien la formule : =AUJOURDHUI()+n sur chaque cellule avec n en valeur numérique, mais mon soucis c'est que cela apparaît comme #NOM? et il faut que j'aille sur la cellule et que j'appuie sur Entrée quand je suis sur la cellule et alors j'ai bien ma date qui s'affiche.

Ma question est en fait multiple :
Comment faire pour que cela affiche bien la date sans avoir à repasser sur chaque cellule ?
J'aimerais dans l'absolu pouvoir faire un range qui va de
AUJOURDHUI()-5 à AUJOURDHUI+365
Mon soucis est pour le next... car je me retrouve avec un AUJOURDHUI()+-5....

Si quelqu'un a une idée simple, sinon je fais une exception sur les 5 premières valeurs.

Je vous remercie par avance de vos conseils.

Fand'

3 réponses

  1. Super !

    Merci bien pour vos réponses.

    Je viens de tester et cela fonctionne impeccable !

    Fand'
    1. Modérateur
      Bonjour,

      Utilisez FormulaLocal au lieu de FormulaR1C1 :

      Sub Creation_Calendrier()
      Dim n As Long
      
      Range("A1").Select
      For n = 1 To 370
         ActiveCell.Offset(0, n).FormulaLocal = "=AUJOURDHUI()+" & n
      Next n
      End Sub

      1. Contributeur
        Bonjour,

        Comme ceci:

        Option Explicit
        Dim n As Long
        Dim myFormul As String
        Private Sub CommandButton1_Click()
        Creation
        Creation_Calendrier
        End Sub
        Sub Creation_Calendrier()
        Range("F1").Select
        For n = 1 To 370 ' a adapter
        ActiveCell.Offset(ColumnOffset:=1).Activate
        ActiveCell.FormulaR1C1 = "=TODAY()+" & n
        Next n
        End Sub
        Sub Creation()
        Range("A1").Select
        For n = 4 To 0 Step -1
        ActiveCell.Offset(ColumnOffset:=1).Activate
        ActiveCell.FormulaR1C1 = "=TODAY()-" & n
        Next n
        End Sub
        

        1. Contributeur
          Il faut mettre :

          For n = 1 To 361

          pour ne pas dépasser l'année 2016

          Voilà