Insérer une ligne sous conditions?

Bonsoir tout le monde,

Je souhaiterai savoir svp, c'est quoi la macro qui me permet d'insérer une ligne si dans une case quelconque il y a par exemple le mot "BONJOUR".

Merci par avance

Bonsoir Dali, bonsoir le forum,

Pas très clair tout ça !... Remarque Dali était plutôt sombre... Mais quand on a besoin d'aide, le minimum c'est de l'être, non ?!...

• Tu veux une macro qui parcoure tout un tableau est insère une ligne (au-dessus / au-dessous ?) chaque fois qu'elle rencontre le mot "bonjour" dans une colonne (laquelle ?)

• tu veux une macro qui dès que tu écris le mot "bonjour" dans une colonne (laquelle ?) rajoute automatiquement une ligne (au-dessus / au-dessous ? )

Voila, voilà...

Bonjour,

Oui j e veux une macro qui parcoure tout un tableau est insère une ligne au-dessous de chaque fois qu'elle rencontre le mot "bonjour" dans la colonne D.

Merci par avance

Bonjour Dali, bonjour le forum,

Arf ! j'adore cette application que j'ai téléchargée sur mon "NoSmartphone" : Tirage ds Vers du Nez !...

Essaie comme ça (nom de l'onglet O a adapter) :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL  As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, 4).End(xlUp).Row 'définit la dernière ligne éditée Dl de la colonne 4 (=D) de l'onglet O
For I = DL To 1 Step -1 'boucle inversée de la dernière ligne DL à la première
    'si la cellule ligne I colonne 4 (=D) est égale à "BONJOUR" (sans tenir compte de la casse) rajoute une ligne au-dessous
    If UCase(O.Cells(I, 4).Value) = "BONJOUR" Then Rows(I + 1).Insert Shift:=xlShiftDown
Next I 'prochaine ligne de la boucle
End Sub

Rebonjour,

Merci beaucoup. Elle fonctionne très bien votre macro. C'est exactement ce que je cherche pour résoudre un problème.

Bonne fin de journée

Bonjour ThauThème,

Peux-tu me dire stp qu'est ce que je dois rajouter au programme que tu m'as envoyé pour que à la place d’insérer des lignes vides, je fais un copier coller de cette ligne qui contient le mot "BONJOUR" dans la nouvelle ligne qu'on inséré au dessous.

Merci par avance

Bonjour,

Essai comme ça :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL  As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, 4).End(xlUp).Row 'définit la dernière ligne éditée Dl de la colonne 4 (=D) de l'onglet O
For I = DL To 1 Step -1 'boucle inversée de la dernière ligne DL à la première
   'si la cellule ligne I colonne 4 (=D) est égale à "BONJOUR" (sans tenir compte de la casse) rajoute une ligne au-dessous
   If UCase(O.Cells(I, 4).Value) = "BONJOUR" Then Rows(I).Copy Rows(I + 1)
Next I 'prochaine ligne de la boucle
End Sub

Merci beaucoup pour ton aide,

Elle fonctionne très bien la macro.

Bonne journée

Demande en ligne de code est inséré lorsque vous tapez le mot bonjour dans une colonne et ajoute automatiquement

Bonjour,

Pas compris Abdalwahd ?!...

Rechercher des sujets similaires à "inserer ligne conditions"