Inserer ligne à le suite d'un tableau

bonjour à tous,

je souhaite dans une Feuille suite clic sur "inserer ligne"

copier la ligne 4 de la Feuille

chercher dans la colonne A à partir de la cellule A4 la première cellule vide (en descendant bien sur !!)

selectionner la ligne correspondant à cette cellule vide

inserer la ligne 4 précédemment copié

En fait je recherche le moyen de copier une ligne de base pour l'inserer à la suite d'un tableau sans savoir ou ce trouve cette fin tableau (combien de ligne compose ce tableau).

Merci d'avance

PS : en PJ le fichier joint

20eilt.zip (10.18 Ko)

Bonjour babouze64,

Voici une proposition de code pour ta macro :

Sub inserer_ligne()
Dim dlg As Long
With Feuil1
  dlg = .Range("A" & Rows.Count).End(xlUp).Row + 1
  .Rows("4:4").Copy .Range("A" & dlg)
  Application.CutCopyMode = False
End With
End Sub

Cordialement.

merci pour cette proposition,

suite insertion du code, la macro ne s'execute pas ?

avez vous une idée ? avez vous la possibilité de modifier le fichier XLS joint pour voir ?

RE :

Effectivement, la macro attachée au bouton n'existait pas.

Par contre, j'ai du améliorer la macro car la copie une ligne cachée masque également la ligne insérée.

Cordialement.

33copie-de-eilt-1.zip (11.97 Ko)

impeccable, merci encore

pourrais tu m'expliquer comment cela fonctionne ?

si ma ligne à copier es mintenant à la ligne 10, que dois-je changer ?

comment dois-je changer le code si je veux inserer une ligne et non la coller,

car dans mon fichier reel j'ai des elements en dessous que je ne veux pas les voir disparaitre par suite de collage et non d'intersion de ligne.

babouze64 a écrit :

pourrais tu m'expliquer comment cela fonctionne ?

si ma ligne à copier es mintenant à la ligne 10, que dois-je changer ?

Bonsoir babouze64,

Voici la copie de ton fichier avec les lignes de code commentées pour t'aider à en comprendre le déroulement.

Si ta ligne à copier est la n°10, il faut remplacer toutes les références à la ligne 4 par 10 et 5 par 11. Ce qui donne :

Sub inserer_ligne()
Dim dlg As Long
Application.ScreenUpdating = False
With Feuil1
  .Rows(10).Hidden = False
  dlg = Application.Max(11, .Range("A" & Rows.Count).End(xlUp).Row + 1)
  .Rows("10:10").Copy .Range("A" & dlg)
  Application.CutCopyMode = False
  .Rows(10).Hidden = True
End With
Application.ScreenUpdating = True
End Sub

Cordialement.


babouze64 a écrit :

comment dois-je changer le code si je veux inserer une ligne et non la coller,

car dans mon fichier reel j'ai des elements en dessous que je ne veux pas les voir disparaitre par suite de collage et non d'intersion de ligne.

RE babouze64,

Ci-joint nouvelle copie de ton fichier avec insertion de ligne.

A +

Cordialement.

parfait,

merci encore pour votre aide.

Pour pouvoir, maintenant, effectuer une autre macro pour supprimer les lignes que je viens d'inserer,

qu'elle devrait être la macro pour arriver à cela ?

j'essaye de me servir de dlg

dlg = Application.Max(11, .Range("A" & Rows.Count).End(xlUp).Row + 1)

mais cela concerne un Range alors que moi je souhaiterais édrire plutot en Row, du style :

Rows (11:dlg).Delete

Bref je souhaite selectionner les lignes de 11 à dlg ou son équivalent pour ensuite supprimer ces lignes

dans mon cas c'est une initialisation dans le sens ou je reviens à mon fichier "viege" avant insertion.

babouze64 a écrit :

Pour pouvoir, maintenant, effectuer une autre macro pour supprimer les lignes que je viens d'inserer,

qu'elle devrait être la macro pour arriver à cela ?

j'essaye de me servir de dlg

dlg = Application.Max(11, .Range("A" & Rows.Count).End(xlUp).Row + 1)

mais cela concerne un Range alors que moi je souhaiterais édrire plutot en Row, du style :

Rows (11:dlg).Delete

Bref je souhaite selectionner les lignes de 11 à dlg ou son équivalent pour ensuite supprimer ces lignes

dans mon cas c'est une initialisation dans le sens ou je reviens à mon fichier "viege" avant insertion.

Bonsoir babouze64,

Essaie comme ceci :

Sub EffacerLignes()
dlg = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
Rows("11:" & dlg).Delete
End Sub

A +

Cordialement.

Rechercher des sujets similaires à "inserer ligne suite tableau"