OVH Cloud OVH Cloud

Insert Line sur Area Multiple

3 réponses
Avatar
ERIC
Bonjour,

Je souhaiterais mettre en place un code, qui me permette d'inserer plusieurs
lignes non contigues en 1 coup sur plusieurs lignes selectionnées.

exemple :
Dim r As Range

' ce que j'aimerai faire
' ce code va m'inserer 1 ligne en alternatif à partir de la ligne 24 cela
deplace la ' 1 ere ligne en bas, puis reinsere 1 autre ligne, puis deplace
ainsi de suite
Set r = Range("24:24,25:25,26:26")
r.Insert shift:=xlDown

' ce que je ne veux pas faire
' ce code va m'inserer 3 ligne à parir de la ligne 24 puis déplacer les 3
autres ' lignes
Set r = Range("24:24,25:25,26:26")
r.Insert shift:=xlDown


Mon problème c'est que je voudrai automatiser la selection de mon range.
Or ma chaine de caractère R1:R1,R2:R2,R3:R3, etc.... RN:RN peut être très
longue... et Excel me refuse une chaine aussi longue.

Je me disais que je pouvais gérer ceci grâce à la collection Area , mais il
n'existe pas de methode Add, pour avoir une infinie d'Item.

Avez vous une solution pour faire faire un seul Line au lieu de boucler et
faire N Insert Line.

3 réponses

Avatar
AV
Mon problème c'est que je voudrai automatiser la selection de mon range.
Or ma chaine de caractère R1:R1,R2:R2,R3:R3, etc.... RN:RN peut être très
longue... et Excel me refuse une chaine aussi longue.


As-tu essayé avec la méthode Union ?

AV

Avatar
ERIC
Oui, il se trouve que la méthode Union fait disparaitre cette notion de
discontinuité.

En gros Set r = Union(Range("24:24"),Range("25:25"), Range("26:26"))
revient à faire Set r = Range("24:26") et non pas Range("24:24,25:25,26:26")
comme j'aimerai.


Mon problème c'est que je voudrai automatiser la selection de mon range.
Or ma chaine de caractère R1:R1,R2:R2,R3:R3, etc.... RN:RN peut être très
longue... et Excel me refuse une chaine aussi longue.


As-tu essayé avec la méthode Union ?

AV






Avatar
ERIC
En fait Excel est limité à 256 caractères X .... quand on ecrit
Set r = Range("xxxxxxxxxxxxxxxxxxxxxxxxx")
voir ci dessous ce qui m'empeche de simuler ce que je souhaite

Est que Microsoft a enlevé cette contrainte dans une Version X ?


Oui, il se trouve que la méthode Union fait disparaitre cette notion de
discontinuité.

En gros Set r = Union(Range("24:24"),Range("25:25"), Range("26:26"))
revient à faire Set r = Range("24:26") et non pas Range("24:24,25:25,26:26")
comme j'aimerai.


Mon problème c'est que je voudrai automatiser la selection de mon range.
Or ma chaine de caractère R1:R1,R2:R2,R3:R3, etc.... RN:RN peut être très
longue... et Excel me refuse une chaine aussi longue.


As-tu essayé avec la méthode Union ?

AV