Insèrer une ligne au dessus ET en dessous

Bonjour le forum,

Dans une macro, j' ai une commande qui insère une ligne au dessus d' un critère de recherche. Sur cette ligne, la couleur de remplissage est le gris.

Cette commande fonctionne très bien mais je voudrais qu' il insère également une ligne ( vide, sans format ni remplissage de gris) en dessous du critère :

If Cells(i, 1) Like "111200 :  CHEQUES" Then Cells(i, 1).EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove

Merci de votre aide.

Bonsoir,

        If Cells(i, 1) Like "111200 :  CHEQUES" Then
            Cells(i, 1).Offset(1, 0).EntireRow.Insert , CopyOrigin:=xlFormatFromRightOrBelow
            Cells(i, 1).EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
        End If

A+

Bonjour à tous,

ou bien :

Cells(i + 1, 1).Insert Shift:=xlDown

mais comme tu auras inséré une autre ligne auparavant ça risque d'être :

Cells(i + 2, 1).Insert Shift:=xlDown

eric

Bonsoir Frangy, Eric,

@ Frangy

Ta proposition est impec sauf qu' il insère une ligne avec une bordure à gauche. Comment faire pour avoir aucune bordure.

@ Eric,

Je dois mal faire un truc car si je fais :

If Cells(i, 1) Like "111200 :  CHEQUES" Then Cells(i + 1, 1).Insert Shift:=xlDown

Il insère une cellule en décalant vers le bas, avec un remplissage gris.

Si je fais ça :

If Cells(i, 1) Like "111200 : CHEQUES" Then Cells(i + 2, 1).Insert Shift:=xlDown

Il efface la cellule i+2.

Merci de corriger mon erreur.

C'est moi qui me suis fourvoyé....

Rows(i+1).Insert Shift:=xlDown

ou

Rows(i+2).Insert Shift:=xlDown

selon si tu fais cette insertion en premier ou en second.

eric

Re Eric,

Rows(i+1).Insert Shift:=xlDown

Insère bien une ligne mais avec le remplissage en gris et n' insère pas de ligne au dessus.

Je souhaiterai une ligne au dessus et en dessous de "111200 : CHEQUES".

Bonne soirée

Bonjour,

... et n' insère pas de ligne au dessus.

Je souhaiterai une ligne au dessus et en dessous de "111200 : CHEQUES".

Dis, tu ne crois pas que tu exagères et que tu pourrais te prendre en main ?

j' ai une commande qui insère une ligne au dessus ....Cette commande fonctionne très bien

Il suffit d'ajouter les lignes qu'on te donne.

Rows(i + 1).Insert Shift:=xlDown
Rows(i + 1).Interior.ColorIndex = xlNone

eric

Bonjour Eric,

Dis, tu ne crois pas que tu exagères et que tu pourrais te prendre en main

Je sais insérer une ligne ( mon code fonctionne bien ). Ce que je ne sais pas faire, c'est ajouter une commande supplémentaire à ma ligne de commande ( ma ligne de commande + l' insertion d'une ligne supplémentaire vers le bas + .....)

Bonne soirée.

Bonsoir,

Tu plaisantes ou quoi ?

Bref :

If Cells(i, 1) Like "111200 :  CHEQUES" Then 
  Cells(i, 1).EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
  Rows(i + 1).Insert Shift:=xlDown
  Rows(i + 1).Interior.ColorIndex = xlNone
endif

Maintenant tu sais ajouter des lignes au code, la prochaine fois essaie un peu avant de demander.

eric

Rechercher des sujets similaires à "inserer ligne dessus dessous"