Faire la correspondance entre deux champs de 02 feuilles differentes

Bonjour chers membres , je suis novice en VBA , je travaille sur un document et je voudrais solliciter votre aide pour un souci . J ai un un fichier excel sur lequel je voudrais faire une correspondance entre des données de deux feuilles (TOUT) et (CORRESPONDANCE) .Je dois parcourir toutes les lignes de la colonne (Date décaissement ) de la feuille (TOUT) si je trouve une date correspondante à (2019-12-31 00:00:00.000) dans cette colonne je copie la valeur correspondante dans la colonne (NUM_DOSSIER) que je vais rechercher ensuite dans la colonne (NUM_DOSSIER) de la feuille (CORRESPONDANCE) . Si je trouve une ligne correspondante , je copie la valeur de la colonne (DATE_EFFET) de cette ligne et je vais la coller dans la colonne (Date décaissement ) de la feuille (TOUT) correspondant au numero dossier . Priere m’aider svp . Ci-dessous le fichier .
FNFI_BON3.xlsm (2,6 Mo)

Merci

Bonjour
Ci-joint ma proposition
Attention onglet « CORRESPONDANCE » il n’y a pas de colonne comme cité ainsi :

« je vais rechercher ensuite dans la colonne (NUM_DOSSIER) de la feuille (CORRESPONDANCE) »

J’ai deux colonnes qui s’en rapproche :

« Ancien dossier »
« Nouveau dossier »

J’ai opté pour la première dans mon traitement

« Ancien dossier »

Si c’est un mauvais choix il faudra le modifier

Onglet « TOUT » colonne « L » choisis une cellule qui porte la date à utiliser
Double-cliques dessus
Constates le résultat
Fais moi un retour

Attention de mettre onglet « CORRESPONDANCE » colonne « ref_demande » un représentant de celle-ci ayant la date recherchée
Pour celle citée dans ton contexte j’ai du rajouté colonne « C » de cet onglet une « ref_demande » la possédant afin de valider ma procédure (ajout onglet « TOUT » en colonne « L » de la date onglet « CORRESPONDANCE » colonne « E » pour la « ref_demande »)

Testes et dis moi

FNFI_BON3.xlsm (2,6 Mo)

Ok , merci pour la réaction , je teste cela et je vous reviens .

Merci FFO pour votre retour , j ai essayé avec le clic mais ca n’a pas donné le resultat escompté , l’objectif était de faire un traitement automatique sur tout la colonne à travers un bouton . Mais votre réponse m’a orienté à essayé ceci qui a marché :

Sub MettreAJourDateDecaissement()
Dim wsTout As Worksheet, wsCorresp As Worksheet
Dim lastRowTout As Long, lastRowCorresp As Long
Dim i As Long, j As Long
Dim numDossier As String, dateEffet As Variant

Set wsTout = ThisWorkbook.Sheets("TOUT")
Set wsCorresp = ThisWorkbook.Sheets("CORRESPONDANCE")

lastRowTout = wsTout.Cells(wsTout.Rows.Count, "C").End(xlUp).Row
lastRowCorresp = wsCorresp.Cells(wsCorresp.Rows.Count, "F").End(xlUp).Row

For i = 2 To lastRowTout
    If Trim(wsTout.Cells(i, 12).Value) = "2019-12-31 00:00:00.000" Then
        numDossier = Trim(wsTout.Cells(i, 3).Value) ' Colonne C = NUM_DOSSIER

        ' Recherche dans la feuille CORRESPONDANCE
        For j = 2 To lastRowCorresp
            If Trim(wsCorresp.Cells(j, 6).Value) = numDossier Then ' Colonne F = Nouveau dossier
                dateEffet = wsCorresp.Cells(j, 5).Value ' Colonne E = DATE_EFFET
                wsTout.Cells(i, 12).Value = dateEffet ' Mise à jour colonne L ("Date décaissement")
                Exit For
            End If
        Next j
    End If
Next i

MsgBox "Mise à jour des dates de décaissement terminée."

End Sub

" j ai essayé avec le clic mais ca n’a pas donné le resultat escompté"

Il serait bien de m’en dire un peu plus :

Résultats obtenus avec celui attendu pour les « ref_demande » concerné

Sans plus amples explications je ne pourrais comprendre ce qui n’a pas convenu

« l’objectif était de faire un traitement automatique sur tout la colonne à travers un bouton »

C’est exactement ce que réalise mon traitement si ce n’est qu’en lieu et place d’un bouton un doubleclick sur la cellule colonne « L » qui porte la date concernée
Ainsi comme un Bouton de déclencher le processus avec récupération simple de la date à utiliser

Dommage que tu ne m’en dises pas plus

Toutes mes excuses .

Quand je relis , je crois que le soucis venait du choix de la colonne du dossier , j ai mal expliqué cette partie , c’ est avec la colonne nouveau dossier qu’il faut comparer , j ai essayé de changer en faisant
On Error Resume Next
ligne = Sheets(« CORRESPONDANCE »).Columns(« F:F »).Find(what:=Range(« C » & i), After:=Sheets(« CORRESPONDANCE »).Range(« D1 »), LookIn:=xlValues, LookAt:=xlWhole).Row
If ligne > 0 Then

au lieu de :

On Error Resume Next
ligne = Sheets(« CORRESPONDANCE »).Columns(« D:D »).Find(what:=Range(« C » & i), After:=Sheets(« CORRESPONDANCE »).Range(« D1 »), LookIn:=xlValues, LookAt:=xlWhole).Row
If ligne > 0 Then

Mais quand je cliquait dans la cellule ça ne réagissait pas .

Donnes moi une dates à utiliser ainsi que la bonne colonne onglet « CORRESPONDANCE » pour le « NUM_DOSSIER » puis quel résultat attendu onglet « TOUT » concernant les « ref_demande » impactés avec pour chacun la date à obtenir colonne « L »
Ainsi de réaliser des tests pour les obtenir
Merci à toi

Je viens de tester avec la nouvelle colonne « NUM_DOSSIER » onglet « CORRESPONDANCE » modifiée dans la procédure
Tu trouveras ci-joint toutes les dates mises en place colonne « L » onglet « TOUT » pour la date « 2019-12-31 00:00:00.000 » sur fond jaune aprés le déclenchement par doubleclick en cellule « L838 » qui avait celle-ci

Regardes et dis moi

FNFI_BON3 - Copie.xlsm (2,6 Mo)

Le résultat est parfait . C’est exactement ça . Merci pour votre disponibilité et toute votre patience .

Merci pour ce retour positif
Me voilà rassuré
Attention dans le dernier fichier transmis une ligne de code colore en jaune les cellules colonne « L » onglet « TOUT » modifiées
Il faut la supprimer pour éviter cette colorisation
Si pb à cette intervention dis le moi
Au plaisir de t’aider une prochaine fois

ok , bien reçu , merci infiniment

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.