Macro pour insérer une ligne sous condition

Signaler
-
Messages postés
3
Date d'inscription
mardi 16 février 2021
Statut
Membre
Dernière intervention
16 février 2021
-
Bonjour à tous,

Étant une utilisatrice occasionnelle des macros j aurais besoin de votre aide.
Je souhaiterais intégrer dans ma feuille « Feuil1 » une ligne en dessous de la cellule qui contient l information « Manque fin remb + non continu ». Cette information est présente dans la colonne J. Pouvez vous m indiquer le code que je dois intégrer dans ma macro.
Je vous remercie par avance pour votre aide



Configuration: iPhone / Safari 14.0.3

3 réponses

Messages postés
7282
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
3 mars 2021
617
Bonjour,

comme ceci:

Option Explicit
 Sub test()
Dim obj As Object
With ActiveSheet
  Set obj = .Columns("J").Find("Manque fin remb + non continu", , , xlWhole)
  Rows(obj.Row + 1 & ":" & obj.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
End Sub


Voilà
Messages postés
3
Date d'inscription
mardi 16 février 2021
Statut
Membre
Dernière intervention
16 février 2021

Bonjour cs_Le Pivert,

J'ai une erreur sur la ligne :
Rows(obj.Row + 1 & ":" & obj.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Je vous joins mon fichier .

Merci beaucoup
Messages postés
8457
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
3 mars 2021
1 618 >
Messages postés
3
Date d'inscription
mardi 16 février 2021
Statut
Membre
Dernière intervention
16 février 2021

Ajoutes un point devant le Rows c'est à dire .Rows(obj.Row ...
Et un test si trouvé :
Option Explicit
 Sub test()
Dim obj As Object
With ActiveSheet
  Set obj = .Columns("J").Find("Manque fin remb + non continu", , , xlWhole)
  If Not obj Is Nothing Then
    .Rows(obj.Row + 1 & ":" & obj.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
  End If
End With
End Sub
Messages postés
3
Date d'inscription
mardi 16 février 2021
Statut
Membre
Dernière intervention
16 février 2021
>
Messages postés
8457
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
3 mars 2021

Bonjour Patrice33740,
Merci pour votre aide, cela fonctionne mais uniquement pour la première cellule qui contient l'information "Manque fin remb + non continu" or dans ma colonne je peux être amenée à avoir plusieurs fois cette information.
encore merci
Messages postés
8457
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
3 mars 2021
1 618
Re,

A mauvaise question : mauvaise réponse !!!
« Je souhaiterais intégrer ... une ligne en dessous de la cellule qui contient ...»

Pour éviter cette perte de temps, il eût fallu demander dés le début :
« Je souhaiterais intégrer ... une ligne en dessous de chaque cellule qui contient ...»

Avec ce code :
Sub test()
Dim rng As Range, cel As Range, adr$
  With ActiveSheet
    Set cel = .Cells(.Rows.Count, "J").End(xlUp)
    Set rng = .Range("J1", cel)
    Set cel = rng.Find("Manque fin remb + non continu", , , xlWhole)
    If Not cel Is Nothing Then
      adr = cel.Address
      Do
        .Rows(cel.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Set cel = rng.FindNext(cel)
      Loop While cel.Address <> adr
    End If
  End With
End Sub


Cordialement
Patrice

Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.
Messages postés
3
Date d'inscription
mardi 16 février 2021
Statut
Membre
Dernière intervention
16 février 2021

Parfait! énorme merci et désolée de ne pas avoir été précise dans ma question!!
Bon après-midi