Mise à jour de dates

Bonsoir à tous amis codeurs !

(Très) novice dans le domaine, je reviens vers vous pour quelques questions / demande de résolution de problèmes .

J'avais déjà posé quelques questions ici il y a un certain temps.

J'ai un fichier (ci-joint) qui permet de remettre à jour des dates de rdv obligatoires. J'ai donc en colonne 1 la liste des personnes, en colonne 2 la date de l'échéance, en colonne 3 une date de rdv prévisionnelle et en colonne 4 si le justificatif de rdv a été transmis ou pas.

Une fois le justificatif transmis, le "oui" coché, la date d'échéance se met à jour (an + 2 par rapport au RDV prévu (colonne 3)) et le reste des colonnes se vident (à part le non).

Voici le code utilisé : "

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <> 4 Then Exit Sub

If Target = "oui" Then

If IsDate(Cells(Target.Row, 3)) Then

Application.EnableEvents = False

Cells(Target.Row, 2) = DateSerial(Year(Cells(Target.Row, 3)) + 2, Month(Cells(Target.Row, 3)), Day(Cells(Target.Row, 3)))

Cells(Target.Row, 3).Resize(1, 2).ClearContents

Application.EnableEvents = True

Else

MsgBox "pas de date en C" & Target.Row & "!?", vbOKOnly, "Attention"

End If

End If

End Sub

"

L'idée est de poursuivre la démarche en proposant une 5è colonne "date de 2eme RDV" si le premier n'a pas eu lieu et une 6e colonne "justificatif transmis" avec les même choix que la colonne 4. Je souhaite aussi qu'en choisissant "oui" en colonne 6 il se passe la même chose qu'en colonne 4. C'est à dire que la colonne 2 se mette à jour à la date de la colonne 5 + 2 ans.

J'ai pour le moment réussi à valider la colonne 2 avec la colonne 6 mais pas à valider la colonne 5 avec la colonne 6.... Les limites du noob ont été atteintes ...

Merci de votre aide à tous.

Bonne soirée et bonnes fêtes de fin d'année

Bonsoir,

Je ne comprends pas bien ! A partir du moment où tu effaces les cellules en C et D, elles sont réutilisables pour le nouveau RV sans avoir besoin de E et F !

Et la notion de transmission du certificat me titille, je n'y vois pas confirmation du client...

Cordialement.

Bonjour, merci de ta réponse,

L'idée est d'avoir un visuel sur si le certif est transmis au 1er ou 2eme RDV. Tout en gardant en memoire la date du 1er rdv. D'où les autres colonnes. Si tu as une idee pour faire autrement je suis tout ouïe.

Et il n'y a pas de confirmation client . C'est juste un certificat issue du rdv.

Bonne journée.

Bonjour,

Ça devrait donner cela, si je comprends :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim d, n%
    If Target.Column = 4 Or Target.Column = 6 Then
        If LCase(Target) = "oui" Then
            n = Target.Row
            If IsDate(Target.Offset(, -1)) Then
                d = DateAdd("yyyy", 2, Target.Offset(, -1))
                Me.Cells(n, 2) = d
                Application.EnableEvents = False
                Me.Cells(n, 3).Resize(, 4).ClearContents
                Application.EnableEvents = True
            Else
                MsgBox "Pas de date en " & Chr(Target.Column + 63) & n & " !?", , "Attention"
            End If
        End If
    End If
End Sub

Cordialement.

Tardivement mais merci beaucoup MFerrand!!

Rechercher des sujets similaires à "mise jour dates"