Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Mois As Long, RngLR As Range, FDM As String, C As Long
If Target.Row > 1 Or Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then Exit Sub
Mois = (Target.Column - 3) Mod 13 + 1: If Mois < 1 Or Mois > 12 Then Exit Sub
If MsgBox("Voulez vous récupérer les """ & Feuil7.Name & """" & vbLf & "pour le mois " _
& Replace(Replace("de " & Format(DateSerial(1900, Mois, 1), "mmmm"), "e a", "'a"), _
"e o", "'o") & " ?", vbYesNo + vbQuestion, Me.Name) = vbNo Then Exit Sub
Set RngLR = Me.Rows(2).Resize(Me.UsedRange.Rows.Count - 1)
FDM = "'" & Feuil7.Name & "'!"
RngLR.Columns("CE").FormulaR1C1 = "=MATCH(RC1," & FDM & "C1,0)"
For C = 0 To 5
With RngLR.Columns(2 + Mois + 13 * C)
.FormulaR1C1 = "=INDEX(" & FDM & "C" & 4 + C & ",RC83)"
.Value = .Value: End With
RngLR.Columns(15 + 13 * C).FormulaR1C1 = "=RC[" & Mois - 13 & "]-RC[" & Mois - 14 & "]"
Next C
RngLR.Columns("CE").ClearContents
End Sub