Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Insérer un certain nombre de lignes à un endroit variable

7 réponses
Avatar
Pierre F.
Bonjour;

Dans une feuille, je souhaite cr=E9er une macro qui permet d'ins=E9rer un=
=20
nombre de lignes d=E9fini dans la cellule J21 (nombre compris entre 0 et =

9) =E0 un endroit d=E9fini par les contenus de la colonne C (C5:C31)

Les cellules de la colonne C ne contiennent qu'une lettre, "F" ou "G"
Je souhaite ins=E9rer les X cellules juste au-dessous de la derni=E8re li=
gne=20
o=F9 C contient la lettre "F".

Actuellement, je sais que pour ins=E9rer 2 lignes, je dois faire:

Rows("15:16").Select
Selection.Insert Shift:=3DxlDown


Merci.

Cordialement,
Pierre F.

7 réponses

Avatar
JB
Bonjour,

[C:C].Find(What:="F", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Select
Selection.Offset(1, 0).Resize([J21], 1).Insert Shift:=xlDown

JB


On 23 mar, 12:37, "Pierre F." wrote:
Bonjour;

Dans une feuille, je souhaite créer une macro qui permet d'insérer un
nombre de lignes défini dans la cellule J21 (nombre compris entre 0 et
9) à un endroit défini par les contenus de la colonne C (C5:C31)

Les cellules de la colonne C ne contiennent qu'une lettre, "F" ou "G"
Je souhaite insérer les X cellules juste au-dessous de la dernière li gne
où C contient la lettre "F".

Actuellement, je sais que pour insérer 2 lignes, je dois faire:

Rows("15:16").Select
Selection.Insert Shift:=xlDown

Merci.

Cordialement,
Pierre F.


Avatar
Pierre F.

[C:C].Find(What:="F", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Select
Selection.Offset(1, 0).Resize([J21], 1).Insert Shift:=xlDown



Merci ! Quelle rapidité :-)

Cette macro bogue sur:

Selection.Offset(1, 0).Resize([J21], 1).Insert Shift:=xlDown

La cellule C contenant le dernier "F" devient active... mais rien
d'autre ne se passe... dois-je ajouter quelque chose ?


Cordialement,
Pierre F.

Avatar
Pierre F.

[C:C].Find(What:="F", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Select
Selection.Offset(1, 0).Resize([J21], 1).Insert Shift:=xlDown



Oups...

Pardon ! quelque chose se passe!
Les contenus de la colonne C situés en-dessous du dernier "F" se
décalent de X rangs vers le bas ??

Cordialement,
Pierre F.

Avatar
JB
http://cjoint.com/?dxoMBLNBrL

JB

On 23 mar, 13:33, "Pierre F." wrote:

[C:C].Find(What:="F", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Select
Selection.Offset(1, 0).Resize([J21], 1).Insert Shift:=xlDown


Oups...

Pardon ! quelque chose se passe!
Les contenus de la colonne C situés en-dessous du dernier "F" se
décalent de X rangs vers le bas ??

Cordialement,
Pierre F.



Avatar
Pierre F.
http://cjoint.com/?dxoMBLNBrL



Merci;

Effectivement, les cellules situées au-dessous du dernier F se déplac ent
du rang voulu vers le bas.

Mais ce que je souhaiterais, c'est la création de X lignes vides sous l e
dernier F, pas seulement dans la colonne C.

Merci.

Pierre F.

Avatar
JB
Attention!

Si les lignes insérées sont au dessus de la ligne 21, J21 va être
déplacé vers le bas:

[C:C].Find(What:="F", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Select
Selection.Offset(1, 0).Resize([J21], 1).EntireRow.Insert
Shift:=xlDown

JB

On 23 mar, 16:22, "Pierre F." wrote:

http://cjoint.com/?dxoMBLNBrL


Merci;

Effectivement, les cellules situées au-dessous du dernier F se déplac ent
du rang voulu vers le bas.

Mais ce que je souhaiterais, c'est la création de X lignes vides sous le
dernier F, pas seulement dans la colonne C.

Merci.

Pierre F.



Avatar
Pierre F.
Attention!

Si les lignes insérées sont au dessus de la ligne 21, J21 va être
déplacé vers le bas:


Merci pour le coup d'oeil très avisé :-)
Effectivement, la position du J21 est peu heureuse.
J'ai déplacé en J4 (le contenu variable commence à la lignes 5 le n ombre
de lignes à créer.

[C:C].Find(What:="F", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Select
Selection.Offset(1, 0).Resize([J21], 1).EntireRow.Insert
Shift:=xlDown


Mille mercis; j'avais hésité à placer le EntireRow... mais je savai s pas
trop où le mettre :-))

Cette fois, c'est parfait!

Cordialement,
Pierre F.