1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 'Rng1 première plage, Rng2 deuxième plage, Dest: Cellule à partir de laquelle s'opérera la concaténation
'Rng1 et Rng2 2 plages avec une seule colonne
'Dest, une seule cellule
Sub Concat(Rng1 As Range, Rng2 As Range, Dest As Range)
Dim Nb As Long
If Rng1.Columns.Count * Rng2.Columns.Count = 1 Then
Nb = Application.Min(Rng1.Count, Rng2.Count)
With Dest.Resize(Nb, 1)
.Formula = "=" & Rng1(1, 1).Address(0, 0) & "&" & Rng2(1, 1).Address(0, 0)
.Value = .Value
End With
End If
End Sub
'Pour tester
Public Sub Test()
Concat Range("A1:A100"), Range("E23:E150"), Range("M14")
End Sub |