A voir également:
- Excel vba union multiple ranges
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
2 réponses
Kuartz
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
61
7 oct. 2015 à 20:06
7 oct. 2015 à 20:06
Bonjour,
Je ne comprend pas trop, une sélection sur excel est illimitée.
Pourriez-vous nous donner le code exact?
Cordialement.
Je ne comprend pas trop, une sélection sur excel est illimitée.
Pourriez-vous nous donner le code exact?
Cordialement.
Bonjour,
Je pense avoir trouvé : il semble bien qu'il y ait une limite de 255 caractères pour les strings utilisées en tant que paramètre d'une méthode (mais pas des sub ...) : pour des exemples, faire une recherche sur "excel vba 255 character limit parameter"
Le contournement est d'utiliser Union(Range("zone1")[, Range("zone2"...]) pour construire un Range comme dans mon cas.
Merci à Kuartz :)
Je pense avoir trouvé : il semble bien qu'il y ait une limite de 255 caractères pour les strings utilisées en tant que paramètre d'une méthode (mais pas des sub ...) : pour des exemples, faire une recherche sur "excel vba 255 character limit parameter"
Le contournement est d'utiliser Union(Range("zone1")[, Range("zone2"...]) pour construire un Range comme dans mon cas.
Merci à Kuartz :)
8 oct. 2015 à 08:41
ça, ça marche (la string cellules fait 250 caractères de long) :
ça, ça ne marche pas (la string cellules fait 259 caractères de long) :
J'aurai pu changé le nom des zones en z_1, ... , z_30 mais c'est long
J'ai contourné le problème en faisant 2 sélections au lieu d'une (et donc en lançant 2 traitements au lieu d'un)
8 oct. 2015 à 08:57
Où avez-vous défini les zones?
Modifié par David le 8/10/2015 à 17:55
La définition d'une string de plus de 255 c ne pose aucun problème (voir le second exemple). c'est uniquement le fait d'utiliser range(cellules) avec cellules > 255 c qui plante que ce soit en passant par une string ou en direct (range("zone1 ... zone30")).
(PS : j'ai aussi essayé de couper la chaine en la concaténant avec des &)
Modifié par PlacageGranby le 8/10/2015 à 18:14
J'ai fait une petite recherche sur google pour voir si on peut fusionner des zone.
On ne trouve rien la dessus, mais après j'ai chercher si on pouvait fusionner des objets range. et voila
https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2003/aa213609(v=office.11)?redirectedfrom=MSDN
J'ai trouvé la méthode Union.
Donc
Modifié par David le 8/10/2015 à 19:16