Macro pour insérer une ligne sous condition

Croqui -  
Croqui34 Messages postés 3 Statut Membre -
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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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. Croqui34 Messages postés 3 Statut Membre
       
      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
      1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784 > Croqui34 Messages postés 3 Statut Membre
         
        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
        0
      2. Croqui34 Messages postés 3 Statut Membre > Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention  
         
        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
        0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
  3. Croqui34 Messages postés 3 Statut Membre
     
    Parfait! énorme merci et désolée de ne pas avoir été précise dans ma question!!
    Bon après-midi
    0