OVH Cloud OVH Cloud

date automatique et figée à l'enregistrement

5 réponses
Avatar
tipi
Bonjour

je dois remplir des lignes d'un tableau sur plusieurs jours
la première cellule de chaque ligne contient la date du jour
je voudrais que cette cellule soit remplie automatiquement à partir de la
date du système et qu'elle soit figée à l'enregistrement
je pourrai par exemple utiliser la formule "aujourdhui" :
=SI(B1="";"";AUJOURDHUI()) et créer une macro qui fige la cellule A1 à "8
fév 2006" comme si je faisais "Copier Coller Valeurs". La macro se
déclencherait à l'enregistrement et ne n'appliquera que pour les lignes dont
la deuxième cellule est pleine

Merci

5 réponses

Avatar
LSteph
Bonjour,
est ce bien cela que tu veux car,on peut utiliser VBA et dans ce cas plus
simplement
mettre la date en a qd on remplit b
Copie le code ci après puis sur l'onglet de ta feuille clic droit visualiser
le code
Coller dans le module vide puis fermer VBE.
''''*****
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, c As Range
Set isect = Intersect(Target, [b:b])
If Not isect Is Nothing Then
For Each c In isect.Cells
If IsEmpty(c.Offset(0, -1)) Then
c.Offset(0, -1) = Format(Now, "dd/mm/yyyy")
End If
Next
End If
End Sub
'''******
'lSteph

"tipi" a écrit dans le message de news:

Bonjour

je dois remplir des lignes d'un tableau sur plusieurs jours
la première cellule de chaque ligne contient la date du jour
je voudrais que cette cellule soit remplie automatiquement à partir de la
date du système et qu'elle soit figée à l'enregistrement
je pourrai par exemple utiliser la formule "aujourdhui" :
=SI(B1="";"";AUJOURDHUI()) et créer une macro qui fige la cellule A1 à "8
fév 2006" comme si je faisais "Copier Coller Valeurs". La macro se
déclencherait à l'enregistrement et ne n'appliquera que pour les lignes
dont la deuxième cellule est pleine

Merci





Avatar
tipi
Merci bcp : c'est exactement ça que je voulais

la date s'affiche en anglais (mois puis jour) mais c'est pas grave

encore merci

"LSteph" a écrit dans le message de news:
e$
Bonjour,
est ce bien cela que tu veux car,on peut utiliser VBA et dans ce cas plus
simplement
mettre la date en a qd on remplit b
Copie le code ci après puis sur l'onglet de ta feuille clic droit
visualiser le code
Coller dans le module vide puis fermer VBE.
''''*****
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, c As Range
Set isect = Intersect(Target, [b:b])
If Not isect Is Nothing Then
For Each c In isect.Cells
If IsEmpty(c.Offset(0, -1)) Then
c.Offset(0, -1) = Format(Now, "dd/mm/yyyy")
End If
Next
End If
End Sub
'''******
'lSteph

"tipi" a écrit dans le message de news:

Bonjour

je dois remplir des lignes d'un tableau sur plusieurs jours
la première cellule de chaque ligne contient la date du jour
je voudrais que cette cellule soit remplie automatiquement à partir de la
date du système et qu'elle soit figée à l'enregistrement
je pourrai par exemple utiliser la formule "aujourdhui" :
=SI(B1="";"";AUJOURDHUI()) et créer une macro qui fige la cellule A1 à "8
fév 2006" comme si je faisais "Copier Coller Valeurs". La macro se
déclencherait à l'enregistrement et ne n'appliquera que pour les lignes
dont la deuxième cellule est pleine

Merci









Avatar
LSteph
la date s'affiche en anglais
remplace ceci

Format(now,"dd/mm/yyyy")
par cela:
Format(now,"dd-mmm-yyyy")

lSteph
"tipi" a écrit dans le message de news:
%
Merci bcp : c'est exactement ça que je voulais

la date s'affiche en anglais (mois puis jour) mais c'est pas grave

encore merci

"LSteph" a écrit dans le message de news:
e$
Bonjour,
est ce bien cela que tu veux car,on peut utiliser VBA et dans ce cas plus
simplement
mettre la date en a qd on remplit b
Copie le code ci après puis sur l'onglet de ta feuille clic droit
visualiser le code
Coller dans le module vide puis fermer VBE.
''''*****
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, c As Range
Set isect = Intersect(Target, [b:b])
If Not isect Is Nothing Then
For Each c In isect.Cells
If IsEmpty(c.Offset(0, -1)) Then
c.Offset(0, -1) = Format(Now, "dd/mm/yyyy")
End If
Next
End If
End Sub
'''******
'lSteph

"tipi" a écrit dans le message de news:

Bonjour

je dois remplir des lignes d'un tableau sur plusieurs jours
la première cellule de chaque ligne contient la date du jour
je voudrais que cette cellule soit remplie automatiquement à partir de
la date du système et qu'elle soit figée à l'enregistrement
je pourrai par exemple utiliser la formule "aujourdhui" :
=SI(B1="";"";AUJOURDHUI()) et créer une macro qui fige la cellule A1 à
"8 fév 2006" comme si je faisais "Copier Coller Valeurs". La macro se
déclencherait à l'enregistrement et ne n'appliquera que pour les lignes
dont la deuxième cellule est pleine

Merci













Avatar
LSteph
..ou encore
c.Offset(0, -1) = Format(Now, "dd/mm/yyyy")
par
c.Offset(0, -1)= DateValue(Now)

"tipi" a écrit dans le message de news:
%
Merci bcp : c'est exactement ça que je voulais

la date s'affiche en anglais (mois puis jour) mais c'est pas grave

encore merci

"LSteph" a écrit dans le message de news:
e$
Bonjour,
est ce bien cela que tu veux car,on peut utiliser VBA et dans ce cas plus
simplement
mettre la date en a qd on remplit b
Copie le code ci après puis sur l'onglet de ta feuille clic droit
visualiser le code
Coller dans le module vide puis fermer VBE.
''''*****
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, c As Range
Set isect = Intersect(Target, [b:b])
If Not isect Is Nothing Then
For Each c In isect.Cells
If IsEmpty(c.Offset(0, -1)) Then
c.Offset(0, -1) = Format(Now, "dd/mm/yyyy")
End If
Next
End If
End Sub
'''******
'lSteph

"tipi" a écrit dans le message de news:

Bonjour

je dois remplir des lignes d'un tableau sur plusieurs jours
la première cellule de chaque ligne contient la date du jour
je voudrais que cette cellule soit remplie automatiquement à partir de
la date du système et qu'elle soit figée à l'enregistrement
je pourrai par exemple utiliser la formule "aujourdhui" :
=SI(B1="";"";AUJOURDHUI()) et créer une macro qui fige la cellule A1 à
"8 fév 2006" comme si je faisais "Copier Coller Valeurs". La macro se
déclencherait à l'enregistrement et ne n'appliquera que pour les lignes
dont la deuxième cellule est pleine

Merci













Avatar
tipi
merci beaucoup

tout est maintenant réglé dans mon tableau

A bientôt

"LSteph" a écrit dans le message de news:

..ou encore
c.Offset(0, -1) = Format(Now, "dd/mm/yyyy")
par
c.Offset(0, -1)= DateValue(Now)

"tipi" a écrit dans le message de news:
%
Merci bcp : c'est exactement ça que je voulais

la date s'affiche en anglais (mois puis jour) mais c'est pas grave

encore merci

"LSteph" a écrit dans le message de news:
e$
Bonjour,
est ce bien cela que tu veux car,on peut utiliser VBA et dans ce cas
plus simplement
mettre la date en a qd on remplit b
Copie le code ci après puis sur l'onglet de ta feuille clic droit
visualiser le code
Coller dans le module vide puis fermer VBE.
''''*****
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, c As Range
Set isect = Intersect(Target, [b:b])
If Not isect Is Nothing Then
For Each c In isect.Cells
If IsEmpty(c.Offset(0, -1)) Then
c.Offset(0, -1) = Format(Now, "dd/mm/yyyy")
End If
Next
End If
End Sub
'''******
'lSteph

"tipi" a écrit dans le message de news:

Bonjour

je dois remplir des lignes d'un tableau sur plusieurs jours
la première cellule de chaque ligne contient la date du jour
je voudrais que cette cellule soit remplie automatiquement à partir de
la date du système et qu'elle soit figée à l'enregistrement
je pourrai par exemple utiliser la formule "aujourdhui" :
=SI(B1="";"";AUJOURDHUI()) et créer une macro qui fige la cellule A1 à
"8 fév 2006" comme si je faisais "Copier Coller Valeurs". La macro se
déclencherait à l'enregistrement et ne n'appliquera que pour les lignes
dont la deuxième cellule est pleine

Merci