Excel : problème date modification

Résolu
Bonjour,

J'ai un problème sur excel :
Le but est d'afficher dans la zone B7:B34 la date de modification de la zone D7:D34, par rapport au ligne.
Par exemple dès que l'on écrit quelque chose en D8, il y ai la date de modification en B8.
De plus j'aimerais aussi qu'il n'y ai aucune date qui s'affiche si il n'y a rien la case D de la ligne, dans le cas où l'on vient de l'effacer (ce qui correspondont à une modification pour excel).
Merci d'avance !

4 réponses

  1. Bonjour,
    Avec cette procédure à placer dans le module de la feuille :
    Private Sub Worksheet_Change(ByVal Target As Range) 
    If Application.Intersect(Target, Range("D7:D34")) Is Nothing Then 
        Exit Sub 
    ElseIf Target.Value = "" Then 
        Target.Offset(0, -2) = "" 
    Else 
        Target.Offset(0, -2) = Date 
    End If 
    End Sub 

    Salutations.
    Le Pingou
    2
    1. Un grand MERCI à toi le pingou, ça a marcher du premier coup !
      0
    2. Rebonjour,

      Finalement j'ai encore un petit problème, lorsque j'efface une cellule dans la colonne D, j'ai un message d'erreur " Erreur d'éxécution '13' Imcompatibilité de type " puis il me propose un debogage.

      Merci
      0
  2. Bonjour,
    C'est parfait, content pour vous.
    0
    1. Bonjour,
      Je ne trouve pas d'erreur chez moi.
      Cliquer sur débogage, faire une copie d'écran, coller sur document Word et mettre ce dernier sur https://www.cjoint.com/ !
      Merci
      0
      1. http://cjoint.com/?3DmjRwsxcKj
        voici le lien, merci encore
        0
      2. en effet lorsque je teste le code sur un autre fichier excel, il n'y a pas de problème, mais le problème persiste sur mon fichier
        0
      3. C'est bon j'ai trouvé la nature du problème, le problème venait du fait que la case de la colonne D était fusionnée avec d'autre colonne même si dans la zone nom l'ensemble de case répondait à la première colonne.
        Merci pour ton aide !
        0
    2. Bonjour,

      Ouvrir VBA par Alt+F11

      Click droit inserer module

      'Dans un module
      ' Nom de la feuille a adapter
      'Tableau memoire contenu cellules D7 a D34
      'Recuperation des donnees D7:D34

      Public Table_Infos_D7D34(30)

      Private Sub Auto_Open()
      With Sheets("feuil1")
      For x = 1 To 28
      Table_Infos_D7D34(x) = .Cells(x + 6, 4)
      Next
      End With
      End Sub

      'Double click feuil1
      'code a copier fenetre de droite
      'Traitement Cellule D7:D34 Feuil1
      Private Sub Worksheet_Change(ByVal Target As Range)
      'cellule selectionnee D7:D34
      If Not Application.Intersect(Target, Range("D7:D34")) Is Nothing Then
      'si plus d'une cellule selectionnee----> sortie
      If Target.Count > 1 Then Exit Sub
      'Cellule Dx contenu different de memoire et Cellule Dx pas vide
      If Target <> Table_Infos_D7D34(Target.Row - 6) And Target <> "" Then
      'Ecriture date
      Cells(Target.Row, 2) = Date
      'mise en memoire cellule Dx
      Table_Infos_D7D34(Target.Row - 6) = Target
      End If
      End If
      End Sub

      Bonne suite
      0
      1. Merci beaucoup de répondre aussi rapidement f894009 !
        0