Sub Macro1()
Dim c As Workbook 'déclare la variable c (classeur Cible)
Dim t As Worksheet 'déclare la variable t (onglet Travaux)
Dim oc As Worksheet 'déclare la varialbe oc (Onglet Cible)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim j As Byte 'déclae la variable j (Jour)
Dim h As Byte 'déclare la variable h (Heures)
Dim dest As Range 'déclare la varialbe dest (DESTination)
Set c = Workbooks("HEURES MTE FEVRIER.xls") 'définit la variable c
Set t = Sheets("Travaux") 'définit la variable t
Set pl = t.Range("G2:G" & t.Range("G65536").End(xlUp).Row) 'définit la variable pl
For Each cel In pl 'boucle sur toutes les cellules éditées cel de la plage pl
If cel.Value = "MTE" Then 'condition : si la valeur de la cellule cel est égale à "MTE"
Set oc = c.Sheets(cel.Offset(0, -4).Value) 'définit l'onglet cible
j = Day(cel.Offset(0, -5).Value) 'définit le jour
h = cel.Offset(0, -2).Value 'définit les heures
Set dest = oc.Range("A4:A" & oc.Range("A3").End(xlDown).Row).Find(j, , xlValues, xlWhole) 'définit la destination
Select Case dest.Offset(0, 1).Value 'agit en fonction du nombre heures de la destination
Case "" 'si vide
dest.Offset(0, 1).Value = h 'place les heures
dest.Offset(0, 2).Value = cel.Offset(0, -3).Value 'place le texte
Case Else 'si non vide
dest.Offset(0, 1).Value = dest.Offset(0, 1).Value + h 'ajoute les heures
dest.Offset(0, 2).Value = dest.Offset(0, 2).Value & " + " & cel.Offset(0, -3).Value 'ajoute le texte
End Select 'fin de l'action en fonction de...
End If 'fin de la condition
Next cel 'prochaine cellule cel de la boucle
End Sub