Macro pour insérer une ligne sous condition

Fermé
Croqui - 16 févr. 2021 à 10:19
Croqui34 Messages postés 3 Date d'inscription mardi 16 février 2021 Statut Membre Dernière intervention 16 février 2021 - 16 févr. 2021 à 14:55
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
A voir également:

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
16 févr. 2021 à 11:14
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
Croqui34 Messages postés 3 Date d'inscription mardi 16 février 2021 Statut Membre Dernière intervention 16 février 2021
16 févr. 2021 à 12:17
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779 > Croqui34 Messages postés 3 Date d'inscription mardi 16 février 2021 Statut Membre Dernière intervention 16 février 2021
Modifié le 16 févr. 2021 à 12:32
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
Croqui34 Messages postés 3 Date d'inscription mardi 16 février 2021 Statut Membre Dernière intervention 16 février 2021 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
16 févr. 2021 à 14:22
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 16 févr. 2021 à 14:48
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


0
Croqui34 Messages postés 3 Date d'inscription mardi 16 février 2021 Statut Membre Dernière intervention 16 février 2021
16 févr. 2021 à 14:55
Parfait! énorme merci et désolée de ne pas avoir été précise dans ma question!!
Bon après-midi
0