Insérer une nouvelle ligne et coller du contenu dans cette derniere

Bonjour / bonsoir

J'essaie de créer une petite macro qui lorsqu'une condition est remplie créer une nouvelle ligne et la rempli directement avec les éléments copiés !

Exemple :

image

Le résultat que j'aimerai avoir (rempli à la main pour l'instant )

image

Le petit bout de code que j'ai essayé :

image

Accompagné de l'erreur

image

Il est important pour moi que la création de la nouvelle ligne ainsi que son remplissage se fasse dans le même script.

Merci de m'avoir lu et merci d'avance pour vos futurs réponses

Bonsoir à tous,

A tester:

Option Explicit
 Dim dl As Long, i As Long

Sub insertion_ligne()
 With Sheets("Feuil1") '.........................................................nom de la feuille à adapter
  dl = .Range("A" & Rows.Count).End(xlUp).Row '..................................dernière ligne de la colonne A

  Application.ScreenUpdating = False '...........................................désactive le rafraichissement de l'écran

   For i = dl To 2 Step -1 '.....................................................boucle de la dernière à la 2ème ligne
    If .Cells(i, 5) Like "oui" Then '............................................si oui en colonne E
     If .Range("A" & i) <> "" Then '.............................................si colonne A remplie
     .Rows(i + 1).Resize(1).Insert  '............................................insert 1 ligne ( + 1 car insertion en dessous)
     .Range("A" & i & ":D" & i).Copy .Range("A" & i).Offset(1, 0).Resize(1, 4) '.recopie les colonnes A à D
     End If
    End If
   Next i
 End With
End Sub

Sinon, joints un fichier...

Cordialement,

Merci de ta réponse, je vais tester ca asap !

J'ai finalement testé une autre méthode qui marche pour mon cas :)

Je copie et colle directement dans la nouvelle ligne crée !

Sub Macro4()

For ligne = 13 To 2 Step -1
    If Cells(ligne, 4) = "oui" Then
        Rows(ligne + 1).Insert
        Range(Cells(ligne, 1), Cells(ligne, 3)).Select
        Selection.Copy
        Cells(ligne + 1, 1).Select
        ActiveSheet.Paste
    End If
Next ligne
End Sub

Voici mon nouveau code qui marche si jamais quelqu'un aurait la même problématique un jour !

Bonjour,

J'ai finalement testé une autre méthode qui marche pour mon cas :)

La prochaine fois, pense à joindre un fichier....

Je me suis fié à la première image...

22classeur1.xlsm (37.52 Ko)

Cordialement,

Rechercher des sujets similaires à "inserer nouvelle ligne coller contenu cette derniere"