Désolé, je ne pense pas à tout. Mais heureusement, je ne pense pas à rien non plus.
Voici donc 2 fichiers Test3 et Test4, le premier en allant chercher avec Alt-F8 la macro
Sub AposCopie5()
'
' AposCopie5 Macro
' Macro enregistrée le 09/07/2019 par utilisateur
'
Dim rngS As Range
Dim rngD As Range
On Error Resume Next
Set rngS = Application.InputBox( _
Title:="Plage Source", _
Prompt:="Merci de saisir la plage Source", _
Type:=8)
Set rngD = Application.InputBox( _
Title:="Plage Destination", _
Prompt:="Merci de saisir la cellule Destination", _
Type:=8)
On Error GoTo 0
rngS.Copy Destination:=rngD
rngD(1, 1).Offset(-1, -1).Value = "'"
rngD(1, 0).Offset(-1, rngS.Columns.Count + 1).Value = "'"
rngD(0, 1).Offset(rngS.Rows.Count + 1, -1).Value = "'"
rngD(0, 0).Offset(rngS.Rows.Count + 1, rngS.Columns.Count + 1).Value = "'"
With Sheet2
.Range(rngD(1, 1).Offset(-1, -1).Address(0, 0) & ":" & rngD(1, 0).Offset(-1, rngS.Columns.Count + 1).Address(0, 0)).Interior.Color = vbYellow
.Range(rngD(1, 1).Offset(-1, -1).Address(0, 0) & ":" & rngD(0, 1).Offset(rngS.Rows.Count + 1, -1).Address(0, 0)).Interior.Color = vbYellow
.Range(rngD(0, 1).Offset(rngS.Rows.Count + 1, -1).Address(0, 0) & ":" & rngD(0, 0).Offset(rngS.Rows.Count + 1, rngS.Columns.Count + 1).Address(0, 0)).Interior.Color = vbYellow
.Range(rngD(1, 0).Offset(-1, rngS.Columns.Count + 1).Address(0, 0) & ":" & rngD(0, 0).Offset(rngS.Rows.Count + 1, rngS.Columns.Count + 1).Address(0, 0)).Interior.Color = vbYellow
End With
Application.Goto rngD(1, 1).Offset(-1, -1)
End Sub
Le second après avoir créé un bouton affecté de la même macro.
Mêmes résultats : ça ne marche pas (ah non, faut pas le dire) ça marche très bien, mais avec un bug. Oh, punaise ! Mais caisse pastille donc ?
Où est le petit grain de poussière à nettoyer ?