Excel - macro supprimer ligne

Résolu
laduche81 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
laduche81 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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   Statut Membre Dernière intervention  
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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   Statut Membre Dernière intervention  
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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   Statut Membre Dernière intervention  
 
Merci infiniment Le pingou,
Mon problème est résolu grâce à vous.

Je vous souhaite une bonne journée !

Adrien
0