Recherche et correction de date

Bonjour à toutes et tous,

Pouvez vous m'aider à rédiger un code qui me permettrait de remplacer une date si elle correspond à jour férié ?

Je m'explique

Sur une feuille "JF" (pour Jours fériés) j'ai en colonne A la liste des jours férié au format date xx/xx/xx et en colonne B une date de jour ouvré au même format).

Dans un code vba je cherche à obtenir le résultat suivant

si la valeur de la cellule active en colonne H sur la feuille "DONNEES" se trouve dans la colonne A de la feuille JF alors je veux que la valeur de la cellule de la même ligne en colonne B de la feuille "DONNEES" prennent pour valeur la valeur en colonne B trouvée sur la feuille "JF"

Autrement dit,

Si par exemple j'ai 1/1/2019 en colonne F ligne 6 sur la feuille DONNEES

Je voudrais provoquer l'apparition de 2/1/19 en colonne B sur la ligne 6 de la feuille DONNEES

Merci beaucoup pour votre aide

3dates.xlsm (9.53 Ko)

Bonjour,

Pourquoi un code VBA alors qu'une simple formule suffit !

=SIERREUR(RECHERCHEV(ENT(H2);JF!A:B;2;0);ENT(H2))
2dates.xlsm (10.45 Ko)

Bonjour,

Merci pour cette réponse.

Pourquoi en vba, parce que la date qui apparaîtra en colonne F est produite par un code de ce type :

 If Cells(cel.Row, 8).Value = "" Then
    Cells(cel.Row, 8).Value = Now() +15
    'Code à ajouter permettant de modifier la date en colonne B si en colonne H il y a un jour férié
    Cells(cel.Row, 2).Value = Cells(cel.Row, 8).Value
End If

Merci pour votre aide

Ah, en effet, ce qui n'apparaissait pas dans le fichier.

Néanmoins la proposition reste valable.

ou bien ...

Dim trouve As Range

    For Each cel In Range("data")

        If Cells(cel.Row, 8).Value = "" Then
            Cells(cel.Row, 8).Value = Date + 15
        End If

        Set trouve = Sheets("JF").Range("A:A").Find(what:=Cells(cel.Row, 8).Value)
        If Not trouve Is Nothing Then
            Cells(cel.Row, 2).Value = trouve.Offset(0, 1).Value
        Else
            Cells(cel.Row, 2).Value = Cells(cel.Row, 8).Value
        End If

    Next

j'ai remplacé Now par Date

Bonjour,

Merci pour votre réponse.

En adaptant j'ai pu corriger à partir de la rédaction vba de la formule que vous proposez.

Bonne journée

Rechercher des sujets similaires à "recherche correction date"