Comment faire pour bloquer une date aujourd hui

flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -  
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -
bonjour a tous
j aimerais savoir comment jeux faire pour avoir la date aujourd hui dans la cellule et la bloquer
pour les jours suivants
donc en A1 j indique =AUJOURDHUI
ce qui me donne pour ce jour le 27/01/2019
je souhaiterais que dans 5 jours cette cellule affiche toujours le 27/01/2019
comment le realiser merci

11 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Deux solutions simples
    - la rentrer "à la main"
    - Ctrl+;
    Si la date fait partie d'une formule, ça ne fonctionnera pas bien sûr !

    Cdlmnt
    1
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Et si tu y tiens vraiment, une macro est requise
    https://www.cjoint.com/c/IABpopUqk6B

    Cdlmnt
    1
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim plage As Range
    If Target.Count > 1 Then Exit Sub
    Set plage = Union(Range("K2"), Range("B10"), Range("E10"))
    If Not Intersect(plage, Target) Is Nothing Then
      Range("A2").Value = Date
      Range("A2").NumberFormat = "dd/mm/yyyy"
    End If
    End Sub


    Cdlmnt
    1
    1. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
       
      merci pour la reponse
      mais je souhaiterais que la date s affiche seulement que lorsque je rentre quelque chose en K2
      j ai essaye ceci mais cela ne fonctionne pas
      Set plage = (Range("K2")
      0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Range("K2"), Target) Is Nothing Then
      If Target.Value = "" Then Exit Sub
      Range("A2").Value = Date
      Range("A2").NumberFormat = "dd/mm/yyyy"
    End If
    End Sub

    Cdlmnt
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Je mettrai
    If Not Intersect(Range("K2"), Target) Is Nothing Then
      If Target.Value = "" Then Exit Sub
      Application.EnableEvents = False
      Range("A2").Value = Date
      Range("A2").NumberFormat = "dd/mm/yyyy"
      Application.EnableEvents = True
    End If

    avant la ligne
    adDC = Cells(2, Columns.Count).End(xlToLeft).Address

    Cdlmnt
    1
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    un petit down

    If Not Intersect(Columns("K"), Target) Is Nothing Then
      If Target.Value = "" Then Exit Sub
      Range("A" & Target.Row).Value = Date
      Range("A" & Target.Row).NumberFormat = "dd/mm/yyyy"
    End If

    Cdlmnt
    1
  8. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour
    merci pour les réponses
    et vos solutions
    je viens de découvrir ce morceau de code mais je souhaiterais l appliquer
    que quand je rentre une valeur quelconque en K2 par exemple que la date s affiche en A2
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Union(Range("$K$2"), Range("B10"), Range("E10"))) Is Nothing Then
    Range("E2").Value = Format(Date)
    End If
    End Sub
    0
  9. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    ah super cela fonctionne a merveille
    un tout grand merci
    comment je pourrais faire pour l intégrer a e code

    Const Nom_Col As String = "certifié"

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Plage As Range

    If Target.Count > 1 Then Exit Sub 'si on modifie plusieurs cellules simultanément
    adDC = Cells(2, Columns.Count).End(xlToLeft).Address
    LDCol = Split(adDC, "$")(1) 'lettre derniere colonne ligne 2
    NDCol = Range(Split(adDC, "$")(1) & 1).Column 'derniere colonne en nombre
    Set Plage = Range("A2:" & LDCol & 2) 'plage de colonnes ligne 2
    LCol = Chr(Plage.Find(Nom_Col, lookat:=xlWhole).Column + 64) 'lettre colonne "certifié"
    If Application.CountIf(Plage, Nom_Col) > 0 Then 'existe
    If Not Intersect(Target, Range(LCol & "2:" & LCol & "50")) Is Nothing Then 'plage à adapter
    If UCase(Target) = "NON" Then
    nouvlig = Sheets("Archives signataires").Cells(Rows.Count, 1).End(xlUp).Row + 1 'index de la première ligne vide dans "Archives"
    Cells(Target.Row, 1).Resize(1, NDCol).Copy
    Sheets("Archives signataires").Cells(nouvlig, 1).Resize(1, NDCol).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    Application.EnableEvents = False 'désactiver les événements
    Cells(Target.Row, 1).EntireRow.Delete
    Application.EnableEvents = True
    End If
    End If
    Else
    MsgBox "Attention: " & Nom_Col & " n'extiste pas !!!!!!!"
    End If
    Set Plage = Nothing
    End Sub
    0
  10. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    super nickel cela fonctionne a merveille
    un mega tout grand merci
    y a t il possibilité au lieu plutot que quand j inscrive quelque chose dans la cellule k2 que la date s affiche en A2
    que cela se produit dans les colonnes
    donc si j ecris un truc dans la colonne K que la date s affiche en colonne A
    par exemple j ecris un truc en K10 que la date s affiche a A10
    j ecris un truc en K5 que la date s affiche a A5
    j ecris un truc en K12 que la date s affiche a A12

    ect....
    encore mille fois merci
    0
  11. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour a tous
    un petit up
    svp merci
    0
  12. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour
    un tout grand merci pour l aide
    cela fonctionne a merveille
    mille fois merci
    0