Problème de format après insertion
Résolu
fandaor
Messages postés
10
Statut
Membre
-
fandaor Messages postés 10 Statut Membre -
fandaor Messages postés 10 Statut Membre -
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 :
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'
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
-
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
-
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
-
Super !
Merci bien pour vos réponses.
Je viens de tester et cela fonctionne impeccable !
Fand'