Insertion ligne dès que la ligne du dessus est remplie

Bonjour,

Dans mon document excel (Microsoft office professionnel plus 2019, si ça peut servir), je souhaite rajouter une ligne dès que la ligne supérieure est non vide. On voit souvent cela lors d'un remplissage type formulaire en ligne.

Dans le fichier que je joins : j'aimerai que lorsque j'ai choisi une donnée dans la liste (cellule A12), une nouvelle ligne vide se créé en dessous avec les mêmes caractéristiques.

Si ce n'est pas clair, demandez moi.

Cela fait deux jours que je regarde les forums et les tutos mais je ne trouve pas.

En espérant trouver de l'aide ici,

Merci !

Cécile

Bonjour cecrap et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Ainsi que sur les fonctionnalités (Nouveau Forum au bas de page notamment)

Une petite saisie sur notre ami Google
https://www.google.com/search?q=Insertion+ligne+d%C3%A8s+que+la+ligne+du+dessus+est+remplie

Et voilà
https://forum.excel-pratique.com/excel/ajouter-une-ligne-des-que-la-ligne-precedent-est-remplie-t912...

Merci de votre participation

Cordialement

Bonjour Cecrap et bienvenu,

En pièce jointe ton fichier modifié avec la macro événementielle Change ci-dessous :

Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim R As Range 'déclare la variable R (Référence)
Set R = Me.Cells(Application.Rows.Count, "G").End(xlUp) 'définit la référence R (dernière cellule éditée de la colonne G)
If Target.Address = R.Address Then 'condition 1 : si la cible est égale à R
    Application.EnableEvents = False 'annule l'exécution des macros événementielles
    If R.Offset(0, -6).Value <> "" Then 'condition 2 : si le produit de la ligne a été renseigné
        Rows(R.Row).Copy 'copie la ligne de R
        Rows(R.Row + 1).Insert 'insère la ligne de R dans la ligne de R plus une
        Rows(R.Row + 1).ClearContents 'efface le contenue de la ligne de R plus une
        Me.Cells(R.Row + 1, 1).Select 'sélectionne la première cellule de la ligne de R plus une
    End If 'fin de la condition 2
End If 'fin de la condition 1
Application.EnableEvents = True 'autorise l'exécution des macros événementielles
End Sub

Je joindrai le fichier plus tard, le service est actuellement indisponible...

6cecrap-ep-v01.xlsm (19.99 Ko)

Merci !! C'est exactement ce que je voulais :) Je vais lire le code pour bien comprendre.

Bonne journée,

Cécile

Rechercher des sujets similaires à "insertion ligne que dessus remplie"