Insertion ligne

bonjour,

J'ai un tableau avec en colonne A des fournisseurs, dont le nom n'est pas repeter, et en colonne E des references de ces fournisseurs>

Exemple :

......A..................B...... D.......E

Founisseur x .................... ref a

.......................................... ref b

...........................................ref c

Fournisseur y.....................ref g

J'aimerai que lorsque l'on rentre une nouvelle reference pour Fournisseur x sous ref c une ligne vide apparaisse automatiquement en dessous.

J'ai pour le moment cette macro, qui ne se fait pas automatiquement et pas a tout mon tableau :

Sub InsertRowIf()

Selection.EntireRow.Select

For Each Cel In Columns(1)

If Not IsEmpty(Cel.Columns(5)) Then

If Not IsEmpty(Selection.Offset(1, 0).Columns(1)) Then

Selection.Offset(1, 0).Select

Selection.EntireRow.Insert

Selection.Offset(1, 0).Columns(1).Select

End If

End If

Next Cel

End Sub

Quelqu'un aurait-il une idee?

Merci d'avance

ps: desole pour les fautes (accents notamment), mais je suis sur un clavier QWERTY et mon excel est en anglais...

Bonsoir

Merci de joindre ton fichier en passant par Ici

Amicalement

Nad

Voici. Je ne peux transmettre le fichier original pour raison professionelle, mais le tableur est comme celui la :

https://www.excel-pratique.com/~files/doc2/fournisseur.xls

Precision : en fait il faut que :

SI cellule colonne E ligne x non vide

ET cellule colonne A ligne x+1 non vide

ALORS insertion ligne entre x et x+1

j'ai le même à chaque ouverture d'un nouveau fichier !

Trêve de plaisanterie, il nous faut un fichier avec des données à l'intérieur.

A te relire

Amicalement

Nad

Bonjour,

Voici une solution avec ton premier fichier :

Fichier

readi a écrit :

Bonjour,

Voici une solution avec ton premier fichier :

Fichier

Bonjour,

rien de changer par rapport au premier fichier, il n'y a pas de macro. Est ce le bon fichier?

re,

Je pense que tu n'as pas fait d'essai.

Si tu saisis une référence en cellule E8, une ligne vide va s'insérer en ligne 8.

Le code VBA se trouve dans la feuille Sheet1 :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 2 Then Exit Sub

    Application.EnableEvents = False

    If Cells(Target.Row, 1).Value <> "" And Cells(Target.Row, 5).Value <> "" And Cells(Target.Row - 1, 5).Value <> "" Then
        Rows(Target.Row & ":" & Target.Row).Insert Shift:=xlDown
    End If

    Application.EnableEvents = True
End Sub
readi a écrit :

re,

Je pense que tu n'as pas fait d'essai.

Si tu saisis une référence en cellule E8, une ligne vide va s'insérer en ligne 8.

Le code VBA se trouve dans la feuille Sheet1 :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 2 Then Exit Sub

    Application.EnableEvents = False

    If Cells(Target.Row, 1).Value <> "" And Cells(Target.Row, 5).Value <> "" And Cells(Target.Row - 1, 5).Value <> "" Then
        Rows(Target.Row & ":" & Target.Row).Insert Shift:=xlDown
    End If

    Application.EnableEvents = True
End Sub

effectivement cela marche, mais je ne peux pas l'adapter a mon fichier (cf post #5)

re,

J'ai besoin d'une précision.

Les cellules à tester sont Products (colonne C) et Fournisseur (colonne I) ?

Merci

readi a écrit :

re,

J'ai besoin d'une précision.

Les cellules à tester sont Products (colonne C) et Fournisseur (colonne I) ?

Merci

non, ce sont Compagnie colonne A et Date colonne E

en fait, si E non vide et A ligne du dessous non vide egalement, alors insertion ligne entre les deux

Voici l'adaptation dans ton fichier : Fichier

readi a écrit :

Voici l'adaptation dans ton fichier : Fichier

ça marche, merci beaucoup

Rechercher des sujets similaires à "insertion ligne"