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 :
Merci de votre aide
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