Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro de concaténation colonne / ligne

Ave

XLDnaute Nouveau
Bonjour,
J'ai une macro de concaténation que je souhaiterais utiliser, elle fait correctement son travail, càd
concantener une colonne de données dans une cellule avec le séparateur de mon choix.
Le problème vient de sa capacité de stockage de 255 caractères qui me renvoie une erreur de type 13 lorsqu'elle est cette limite est atteinte.
Il me semblait qu'excel pouvait stocker jusqu'à 3000 caractères dans une cellule. Est-ce que c'est un type de variable déclarée qui est incompatible (Variant). Sinon peut-on adapter cette macro pour stocker la suite dans la cellule adjacente?

Voici le code de la macro :

Code:
Sub TestSiVides()
Dim tab1() As Variant

fin = Range("a65536").End(xlUp).Row
tab1 = Range(Cells(1, 1), Cells(fin, 1))

ReDim Preserve tab1(1 To fin, 1 To 2)
For i = LBound(tab1, 1) To UBound(tab1, 1)
    If tab1(i, 1) <> Empty Then
    tab1(1, 2) = tab1(1, 2) & tab1(i, 1) & "','"
    ' Debug.Print tab1(1, 2)
    End If
Next i

' Debug.Print Left(tab1(1, 2), Len(tab1(1, 2)) - 2)
tab1(1, 2) = "'" & Left(tab1(1, 2), Len(tab1(1, 2)) - 2)

Cells(1, 2).Resize(UBound(tab1, 1)) = Application.Index(tab1, , 2)
 
End Sub

Merci de votre aide
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…