Bonjour,
Ma macro pose soucis aujourd'hui à cause de la limite de 255 caractères de la fonction range.
Explication de la macro :
Je traverse une feuille excel, si l'information m'intéresse, je stock le n° de ligne dans un tableau.
Après, je génère une variable en mettant la case A + le n° des lignes séparé par un "," pour faire un range de ces données et les collées dans une nouvelle feuille Excel.
Aujourd'hui, la macro ne fonctionne pas, et je constate que c'est lorsque la chaine généré est > à 255 caractères.
ListChamp = ""
For i = 1 To NbMat
If ListChamp <> "" Then
ListChamp = ListChamp + ","
End If
ListChamp = ListChamp + "A" + CStr(ListMat(i))
Next i
FLABL.Range(ListChamp).Copy
'Sans les variables, cela correspond à ce code
Worksheets("Comp").Range("A3,A4,A6,A7,A8,A9,A10,A11,A12,A15,A16,A17,A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A33,A34,A36,A37,A38,A42,A43,A44,A45,A46,A47,A48,A49,A50,A51,A52,A53,A54,A55,A56,A57,A58,A59,A60,A61,A62,A63,A64,A65,A68,A69,A71,A72,A73,A74,A75,A76,A77,A78,A79,A80").Select
Auriez-vous une solution pour mon problème ?
J'ai pensé à mettre une fonction pour convertir les cellules qui se suivent. Réorganiser la chaine de "A3,A4,A6,A7,A8,A9,A10" par "A3:A4,A6:A10". Par contre, je n'ai aucune idée de commentaire cette fonction, ni de quel terme à utiliser pour rechercher sur internet.
Mais je suppose que quelqu'un a déjà réussi. Auriez-vous une solution ?
Merci d'avance