Figer date et heure

francis15

XLDnaute Occasionnel
Bonjour
ci joint petit fichier quand la personne renseigne dans la colonne "D" la date et l'heure se mettes en colonne "F et H" et ceci avec la fonction " maintenant et aujourdhui" mais dès que l'on rempli une cellule la date et l'heure s'actualise, et évidemment je ne veux pas , je connais lestouches de raccoucis"ctl+; et ctl+:, mais je ne vois pas comment les actionnées en renseignent la colonne "D"
merci de m'aider
bonne journée à tout le forum
Francis
 

Pièces jointes

  • essai 1.xls
    21 KB · Affichages: 113
  • essai 1.xls
    21 KB · Affichages: 118
  • essai 1.xls
    21 KB · Affichages: 119

Softmama

XLDnaute Accro
Re : Figer date et heure

Bonjour,

une proposition par macro en PJ
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D:d")) Is Nothing Then
       If Target = "" Then
        Cells(Target.Row, 6) = "à faire"
        Cells(Target.Row, 8) = ""
       Else
        Cells(Target.Row, 6) = Format(Now, "dddd dd mmmm yyyy")
        Cells(Target.Row, 8) = Format(Now, "hh:mm")
       End If
    End If
End Sub
 
Dernière édition:

francis15

XLDnaute Occasionnel
Re : Figer date et heure

re
j'ai un blog...

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("R:r")) Is Nothing Then
If Target = "" Then
Cells(Target.Row, 26) = "à faire"
Cells(Target.Row, 28) = ""
Else
Cells(Target.Row, 26) = Format(Now, "dddd dd mmmm yyyy")
Cells(Target.Row, 28) = Format(Now, "hh:mm")
End If
End If
End Sub

la ligne "if targer="" then, en en jaune pour , je pense, m'indiquer qu'il y a un probleme sur cette ligne
j'ai changer la lettre de la colonne et apparenment 26 et 28 sont les unième case par rapport à la première colonne
pouvez vous me dire si mes correction pour l'adapter sur mon fichier sont bonne ou si c'est a cause de ça que ça coince?
merci
Francis
 

Softmama

XLDnaute Accro
Re : Figer date et heure

Re,

Explication de WorkSheet_Change(...Target...) :
Cette macro est une macro événementielle, càd qui se déclenche quand un évènement particulier survient sur l'objet WorkSheet. Cet évènement est Change, càd quand une modification est apportée à la feuille. En ce cas, la plage/cellule qui a été modifiée est renvoyée comme objet Range sous le nom Target.

Cette macro n'a de sens que si elle est copiée dans le module de la feuille où tu veux qu'elle se déclenche (dans le module de la feuille où tu surveilles les changements de valeurs de la colonne R). Si ce n'est pas le cas et que par exemple tu as copié cette macro dans un module standard, Target n'est pas défini est renvoie donc une erreur.

Dans la PJ de mon post précédent, regarde bien où je suis allé copier la macro et refais de même. (Alt+F11 pour ouvrir l'éditeur VBE)
 

francis15

XLDnaute Occasionnel
Re : Figer date et heure

re bonjour
oui je crois comprendre!
j'ai bien collé le code dans les feuilles de mon fichier, en choisissant "WorkSheet" dans la fenettre en haut à gauche, et "Change" dans la fenetre en haut a droite.
mais ça bog..

en fait ça bog quand j'efface les donnée sur plusieurs ligne d'un coup, si je suprimme les cases renseignées dans la colonne une par une ça marche super

ça me met" Erreur d'éxecution 13:
incompatibilité de type"

Francis
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Figer date et heure

Bonjour francis, Bonjour SoftMama,

une variation du code de SoftMama :

Code:
[FONT=monospace][COLOR=#0000fc]Private[/COLOR] [COLOR=#0000fc]Sub[/COLOR] Worksheet_Change([COLOR=#0000fc]ByVal[/COLOR] Target [COLOR=#0000fc]As[/COLOR] Range)[/FONT]
[FONT=monospace]Dim Cellule as Range
    [COLOR=#0000fc]If[/COLOR] [COLOR=#0000fc]Not[/COLOR] Intersect(Target, Range([COLOR=#800000]"D:d"[/COLOR])) [COLOR=#0000fc]Is[/COLOR] [COLOR=#0000fc]Nothing[/COLOR] [COLOR=#0000fc]Then[/COLOR]
       For Each Cellule in Target[/FONT]
[FONT=monospace]       [COLOR=#0000fc]If[/COLOR] Cellule.Value = [COLOR=#800000]""[/COLOR] [COLOR=#0000fc]Then[/COLOR]
        Cells(Cellule.Row, 6) = [COLOR=#800000]"à faire"[/COLOR]
        Cells(Cellule.Row, 8) = [COLOR=#800000]""[/COLOR]
       [COLOR=#0000fc]Else[/COLOR]
        Cells(Cellule.Row, 6) = Format(Now, [COLOR=#800000]"dddd dd mmmm yyyy"[/COLOR])
        Cells(Cellule.Row, 8) = Format(Now, [COLOR=#800000]"hh:mm"[/COLOR])
       [COLOR=#0000fc]End[/COLOR] [COLOR=#0000fc]If[/COLOR][/FONT]
[FONT=monospace][COLOR=#0000fc]       Next[/COLOR]
    [COLOR=#0000fc]End[/COLOR] [COLOR=#0000fc]If[/COLOR]
[COLOR=#0000fc]End[/COLOR] [COLOR=#0000fc]Sub[/COLOR][/FONT]
 

Discussions similaires

Statistiques des forums

Discussions
312 510
Messages
2 089 150
Membres
104 053
dernier inscrit
ftexfr