Vba : code pour supprimer une ligne
Résolu
A voir également:
- Vba : code pour supprimer une ligne
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Autofill vba ✓ - Forum Excel
- Incompatibilité de type vba ✓ - Forum VB / VBA
7 réponses
Salut,
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 :
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.
Si 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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dans 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 !
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 !