Salut Michel,
sans double-clic, ni arc-en-ciel : deux sélections simples (Client - Type) en utilisant la touche CTRL pour qu'elles soient considérées comme une sélection.
Le code doit être collé tel quel dans le module VBA 'ThisWorkbook'.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'
Dim sMsg$
'
With Worksheets("Récapitulatif")
If Sh.Name <> "Récapitulatif" Then _
If Selection.Areas.Count = 2 And Selection.Count = 2 Then _
sMsg = "Archivage du chantier " & Sh.[G5] & " ?" & Chr(10) & Chr(10): _
sMsg = sMsg & "Client : " & IIf(Selection.Areas(1).Row = 8, Selection.Areas(1), Selection.Areas(2)) & Chr(10): _
sMsg = sMsg & "Type : " & IIf(Selection.Areas(1).Row = 9, Selection.Areas(1), Selection.Areas(2)): _
If MsgBox(sMsg, vbQuestion + vbYesNo + vbDefaultButton1, "Archivage") = vbYes Then _
iRow = .Range("A" & Rows.Count).End(xlUp).Row + 1: _
.Range("A" & iRow).Value = Sh.[G5]: _
.Range("B" & iRow).Value = Sh.[C6]: _
.Range("C" & iRow).Value = Sh.[E7]: _
.Range("D" & iRow).Value = IIf(Selection.Areas(1).Row = 8, Selection.Areas(1), Selection.Areas(2)): _
.Range("E" & iRow).Value = IIf(Selection.Areas(1).Row = 9, Selection.Areas(1), Selection.Areas(2)): _
.Range("F" & iRow).Resize(1, 9).Value = WorksheetFunction.Transpose(Sh.Range("G70:G78"))
End With
'
End Sub
Bonne année !
A+