Vba : code pour supprimer une ligne
Résolu
Bonjour,
Je souhaiterai en appuyant sur un bouton de mon userform supprimer une ligne (d) et l'insérer dans une autre feuille du même classeur. Est-ce possible ?
Merci d'avance !
Je souhaiterai en appuyant sur un bouton de mon userform supprimer une ligne (d) et l'insérer dans une autre feuille du même classeur. Est-ce possible ?
Merci d'avance !
Configuration: Windows XP Internet Explorer 6.0
7 réponses
-
ModérateurSalut,
Comment choisis tu la ligne à supprimer?
S'il s'agit d'une la ligne dont l'utilisateur aura au préalable sélectionné une cellule :
ActiveCell.EntireRow.Copy Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0) ' Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0) est la feuille de destination (feuil2) première ligne vide ActiveCell.EntireRow.Delete
-
En fait , je connais le numéro de la ligne ("d") trouvé grâce à une procédure de recherche à l'ouverture du userform. Mais je peux aussi la sélectionner.
-
ModérateurSi tu connais le numéro de la ligne :
Rows(d).EntireRow.Copy Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0) Rows(d).EntireRow.Delete
-
Merci Pijaku, ta procédure fonctionnant bien ,j'ai essayé de l'utilisé pour copier une ligne dans une autre fichier (Feuille nommée "IAR" dans le Fichier "z:\mes documents\Dailly Test\Dailly I\IAR.xls") et là ca ne fonctionne pas. Sais tu où est l'erreur dans cette procédure :
Private Sub CommandButton2_Click()
Set Plage1 = [_filterdatabase].Offset(1).Resize(, 1)
Set Plage1 = Plage1.Resize(Plage1.Count - 1).SpecialCells(xlCellTypeVisible)
Range("I" & Plage1.Row) = "IAR"
Rows(Plage1.Row).EntireRow.Copy Sheets("Archives régularisations").Range("A65536").End(xlUp).Offset(1, 0)
Workbooks.Open "z:\mes documents\Dailly Test\Dailly I\IAR.xls"
Rows(Plage1.Row).EntireRow.Copy Workbooks("IAR.xls").Worksheets("IAR").Range("A65536").End(xlUp).Offset(1, 0)
Workbooks("New ClasseurTEST.xls").Worksheets("Archive Cessions").Rows(Plage1.Row).EntireRow.Delete
Workbooks("IAR.xls").Save
Workbooks("IAR.xls").Close
?
Merci beaucoup. -
Modérateurou est l'erreur?
Plage1.Row?
Qu'elle ligne est surlignée en jaune par le débogage?
-
ModérateurDans ce cas, déclenche ta macro "pas à pas" et vérifies ta feuille ecxel au fur et à mesure, tu verras ce qui déconnes et pourras le modifier.
-
C'est bon, je viens de trouver. Il fallait en fait précisé que la plage concernait le premier fichier :
Workbooks("New ClasseurTEST.xls").Sheets("Archive Cessions").Rows(Plage1.Row).EntireRow.Copy Workbooks("IAR.xls").Sheets("IAR").Range("A65536").End(xlUp).Offset(1, 0)
En tout cas merci pour tout !