Macro pour insérer une ligne sous condition

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

  1. Contributeur
    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à
    0
    1. 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
      0
    2. @Croqui34Ajoutes 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
      0
    3. @Patrice33740Bonjour 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
      0
  2. 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


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