Insertion automatique de lignes

Fermé
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 - 8 janv. 2021 à 18:36
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 9 janv. 2021 à 18:41
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

Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 17 243
8 janv. 2021 à 22:38
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.
1
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 462
9 janv. 2021 à 10:24
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
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
9 janv. 2021 à 16:25
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!!!!
1
Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 17 243
9 janv. 2021 à 14:50

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) ...
0
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 462
9 janv. 2021 à 17:08
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
0
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 462
9 janv. 2021 à 17:34
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
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729 > JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024
9 janv. 2021 à 17:58
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 462
9 janv. 2021 à 18:07
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

0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
9 janv. 2021 à 18:41
Je ne comprends pas!
Il doit y avoir autre chose!
Voir ceci:

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

@+
0