Insertion automatique de lignes

JCB40 Messages postés 3013 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
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 58989 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
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 3013 Date d'inscription   Statut Membre Dernière intervention   463
 
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   Statut Contributeur Dernière intervention   729
 
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 58989 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 

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 3013 Date d'inscription   Statut Membre Dernière intervention   463
 
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 3013 Date d'inscription   Statut Membre Dernière intervention   463
 
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   Statut Contributeur Dernière intervention   729 > JCB40 Messages postés 3013 Date d'inscription   Statut Membre Dernière intervention  
 
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 3013 Date d'inscription   Statut Membre Dernière intervention   463
 
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   Statut Contributeur Dernière intervention   729
 
Je ne comprends pas!
Il doit y avoir autre chose!
Voir ceci:

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

@+
0