Excel - macro supprimer ligne

Résolu/Fermé
laduche81 Messages postés 6 Date d'inscription lundi 13 juin 2011 Statut Membre Dernière intervention 14 juin 2011 - Modifié par laduche81 le 13/06/2011 à 20:18
laduche81 Messages postés 6 Date d'inscription lundi 13 juin 2011 Statut Membre Dernière intervention 14 juin 2011 - 14 juin 2011 à 17:39
Bonjour !

J'ai créé une macro qui me permet d'insérer une ligne en conservant formules et dimension des cellulles.
j'aimerai créer une autre macro qui ferait l'inverse : supprimer la dernière ligne insérée. Or je ne trouve pas le code qui me permet de faire cela...

Voici mon code pour insérer une nouvelle ligne :
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveCell(2).Resize(1).EntireRow.Insert
ActiveCell(1).EntireRow.Copy ActiveCell(2).Resize(1).EntireRow
On Error Resume Next 'au cas où il n'y ait pas de constantes
ActiveCell(2).Resize(1).EntireRow. _
SpecialCells(xlConstants).ClearContents
End Sub


Merci par avance de votre aide,

Adrien.



A voir également:

7 réponses

Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
14 juin 2011 à 14:40
Bonjour,
La dernière ligne est la 6, voici le code :
Rows("6:6").Delete Shift:=xlUp
0
laduche81 Messages postés 6 Date d'inscription lundi 13 juin 2011 Statut Membre Dernière intervention 14 juin 2011
14 juin 2011 à 15:49
Bonjour,
J'ai essayé votre solution, cela ne me supprime que la cellule, pas la ligne.
Merci tout de même de votre aide !
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
Modifié par Le Pingou le 14/06/2011 à 15:54
Bonjour,
Si vous dites une cellule, votre code est faux.
Est-vous sur d'avoir écrit correctement l'instruction de code, car il supprime la ligne 6.

Salutations.
Le Pingou
0
laduche81 Messages postés 6 Date d'inscription lundi 13 juin 2011 Statut Membre Dernière intervention 14 juin 2011
14 juin 2011 à 16:02
Oui j'ai fais copier coller de votre code. C'est vrai que votre code précise Row et non pas Cell, donc je ne comprends pas. Je regarde d'où peut venir l'erreur.
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
14 juin 2011 à 16:10
Bonjour,
Si vous le désirez, vous pouvez aussi mettre une copie de votre code...
Salutations.
Le Pingou
0
laduche81 Messages postés 6 Date d'inscription lundi 13 juin 2011 Statut Membre Dernière intervention 14 juin 2011
14 juin 2011 à 16:09
Oui ca me met un message d'erreur, je débogue et le code se modifie en :

Private Sub CommandButton2_Click()
ActiveCell.Delete.EntireRow

End Sub
0

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

Posez votre question
laduche81 Messages postés 6 Date d'inscription lundi 13 juin 2011 Statut Membre Dernière intervention 14 juin 2011
14 juin 2011 à 16:14
Je l'ai fait en premier message, je vous le remets :

Private Sub CommandButton1_Click()


Application.ScreenUpdating = False
ActiveCell(2).Resize(1).EntireRow.Insert
ActiveCell(1).EntireRow.Copy ActiveCell(2).Resize(1).EntireRow
On Error Resume Next 'au cas où il n'y ait pas de constantes
ActiveCell(2).Resize(1).EntireRow. _
SpecialCells(xlConstants).ClearContents

End Sub

Private Sub CommandButton2_Click()

Rows("6:6").Delete Shift:=xlUp

End Sub

Merci de votre aide
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
14 juin 2011 à 17:26
Bonjour,
Oui enfin presque, il n'y avait pas la procédure suivante, mais uniquement celle pour insérer une ligne.
Cette procédure est correcte et vous supprime la ligne 6.
Private Sub CommandButton2_Click()

Rows("6:6").Delete Shift:=xlUp

End Sub

Voici une procédure qui supprime la dernière ligne sur la base de valeur au minimum dans la colonne [A] :
Sub supprimerderligne()
Dim deli As Long
' trouver la dernière ligne
deli = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
Rows(deli).Delete Shift:=xlUp
End Sub
0
laduche81 Messages postés 6 Date d'inscription lundi 13 juin 2011 Statut Membre Dernière intervention 14 juin 2011
14 juin 2011 à 17:39
Merci infiniment Le pingou,
Mon problème est résolu grâce à vous.

Je vous souhaite une bonne journée !

Adrien
0