Excel : problème date modification

Résolu
ORLI -  
Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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. ORLI
       
      Un grand MERCI à toi le pingou, ça a marcher du premier coup !
      0
    2. ORLI
       
      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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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. ORLI
       
      Merci beaucoup de répondre aussi rapidement f894009 !
      0
  3. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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. ORLI
       
      http://cjoint.com/?3DmjRwsxcKj
      voici le lien, merci encore
      0
    2. ORLI
       
      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. ORLI
       
      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
  4. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    C'est parfait, content pour vous.
    0