Insertion automatique de lignes

Signaler
Messages postés
2192
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
17 janvier 2021
-
Messages postés
7203
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
-
Bonsoir
je suis dans la galère pour trouver un code pour ajouter des lignes a un tableau.
Voir le fichier ci-joint feuille 1 & 2
https://www.cjoint.com/c/KAirJQSG7JJ
Merci pour votre aide
Cordialement

5 réponses

Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 078
Bonjour.

C'est assez difficile, vu qu'il y a 4 colonnes en Feuil1 mais 6 en Feuil2, dont certaines sont vides ...
Le plus simple serait de saisir
en A7 la formule =SI(Feuil2!A7="";"";A7)
en B7 la formule =SI(Feuil2!C7="";"";C7)
en C7 la formule =SI(Feuil2!E7="";"";E7)
en D7 la formule =SI(Feuil2!F7="";"";F7)
et de recopier ces 4 formules vers le bas autant que de besoin.
Messages postés
2192
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
17 janvier 2021
366
Bonjour Raymond
Merci pour ta réponse
Ce que je cherche a faire c'est de rendre automatique cette insertion dans le tableau refait
il y avait une erreur de colonne (effectivement)
Solution je pense en vba
https://www.cjoint.com/c/KAjjxC47BvJ
Cordialement
Messages postés
7203
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
599
Bonjour,

Faire Alt F11 sur la Feuille2 pour accéder au module de la feuille.
Mettre ce code qui se déclenchera au double clic dans la colonne A:

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim DerniereLigneUtilisee As Long
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
If Target.Value = "" Then Exit Sub
DerniereLigneUtilisee = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Worksheets("Feuil2").Range("A" & Target.Row & ":E" & Target.Row).Copy _
    Destination:=Worksheets("Feuil1").Range("A" & DerniereLigneUtilisee)
End If
End Sub



Il y a 5 colonnes en feuille 2 et 4 en feuille 1!!!!
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 078

Bonjour JCB40.
@1- Une petite recommandation, pour tes prochaines discussions :
Lorsque tu demandes une aide pour une macro, dis-le explicitement dans ton message initial ; cela évitera à ceux qui, comme moi, ne connaissent pas VBA, d'intervenir inutilement ...
@2- D'autre part, tu as toujours une colonne vide !
@3- Enfin, si tu dois insérer les lignes entières, cela veut dire que tes deux tableaux sont identiques ! Il suffit alors de dupliquer ta feuille (ou ton classeur) ...
Messages postés
2192
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
17 janvier 2021
366
Bonsoir Le Pivert
Exactement ce dont j'avais besoin.
5 colonnes erreur de ma part j'ai fait la rectif dans ton code.
Merci pour ton aide
Bon WE
Cordialement
Messages postés
2192
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
17 janvier 2021
366
Je reviens sur le sujet peux tu me dire comment procéder pour faire l'insertion
par
Private Sub Worksheet_Change Plutot que Private Sub Worksheet_BeforeDoubleClick
et surtout cela est-il possible ?
Crdlt
Messages postés
7203
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
599 >
Messages postés
2192
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
17 janvier 2021

NON car il faut sélectionner la ligne que tu veux copier!

Par contre tu peux essayer cela pour voir si ça te convient

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


@+ Le Pivert
Messages postés
2192
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
17 janvier 2021
366
J'ai un beug sur la ligne 3 en gras
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:D")) Is Nothing Then
If Target.Value = "" Then Exit Sub

Messages postés
7203
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
599
Je ne comprends pas!
Il doit y avoir autre chose!
Voir ceci:

https://forum.excel-pratique.com/viewtopic.php?t=1314

@+