Bonjour,
Je voudrais concaténer les valeurs de plusieurs cellules sur une plage variable.

J'utilise le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub Conc()
 
Dim i As Integer, CommUn As String, LISTCOM As Range, DerCom As Range
 
Set DerCom = Cells(1, Range("IV1").End(xlToLeft).Column)
LISTCOM = Range("" & Cells(1, 26), DerCom & "").Value
 
 
 
Range("W1").Select
    ActiveCell.FormulaR1C1 = "=ConcatPlage(" & LISTCOM & ",""-"")"
    Range("W2").Select
 
 
 
End Sub
 
 
 
 
Function ConcatPlage(plage As Range, Optional séparateur As String = ", ") As String
    Dim rep As String, c As Range
    For Each c In plage
        If c.Value <> "" Then
            rep = rep & c.Value & séparateur
        End If
    Next c
    ConcatPlage = Left(rep, Len(rep) - Len(séparateur))
End Function

Ce code me renvoie la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
LISTCOM = Range("" & Cells(1, 27), DerCom & "")
en surbrillance avec l'erreur: 1004: La méthode 'Range' de l'objet '-Global' a échoué.


Je crois comprendre que mon erreur vient de la définition de mes plage avec mes Range.


Merci de me donner un petit coup de main