Sub Macro1()
Dim OT As Worksheet 'déclare la variable OT (Onglet de Travail)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim R As Range 'déclare la variable R (Recherche)
Dim LS As Integer 'déclare la variable LS (Ligne Source)
Dim LD As Integer 'déclare la variable LS (Ligne Destination)
Set OT = Worksheets("6") 'définit l'onglet OT
Set OS = Worksheets("LISTES DES ACTIONS") 'définit l'onglet OS
Set OD = Worksheets("ACTIONS SOLDEES") 'définit l'onglet OD
'définit la recherche (Recheche la valeur de B4 de l'onglet OT dans la colonne 1 de l'onglet OS)
Set R = OS.Columns(1).Find(OT.Range("B4").Value, , xlValues, xlWhole)
If Not R Is Nothing Then 'si au moins une occurrence est touvée
LS = R.Row 'définit la ligne source LS de la première occurrence trouvée
Set R = Nothing 'redéfinit la recherche R
Else 'sinon
'message
MsgBox "Aucune occurrence trouvée de " & OT.Range("B4").Value & " dans l'onglet " & OS.Name & ". L'archivage ne peut pas être effectué !"
Exit Sub 'sort de la procédure
End If
'définit la recherche (Recheche la valeur de B4 de l'onglet OT dans la colonne 1 de l'onglet OD)
Set R = OD.Columns(1).Find(OT.Range("B4").Value, , xlValues, xlWhole)
If Not R Is Nothing Then 'si au moins une occurrence est touvée
LD = R.Row 'définit la ligne source LS de la première occurrence trouvée
Set R = Nothing 'redéfinit la recherche R
Else 'sinon
'message
MsgBox "Aucune occurrence trouvée de " & OT.Range("B4").Value & " dans l'onglet " & OD.Name & ". L'archivage ne peut pas être effectué !"
Exit Sub 'sort de la procédure
End If
OD.Cells(LD, 2).Resize(1, 4).Value = OS.Cells(LS, 2).Resize(1, 4).Value 'récupère les valeurs
MsgBox "Archivage effectué !" 'message
End Sub