Stop suppression si cellule non vide

Bonjour, je vous joint un fichier avec macro. J'ai pratiquement réussis tout ce que je voulais. Au niveau du tableau, je voulais pouvoir en cliquant sur le + créer une nouvelle ligne à la fin du tableau. C'est fait. En cliquant sur le -, supprimer la ligne de fin du tableau. Il me semble avoir réussit, bien que cela se soit avéré plus compliqué que le +. Cependant, on peut supprimer par inadvertance la dernière ligne, même si celle-ci est remplit.

Je voulais savoir si il était possible de compléter la Macro affecté au -, en faisant apparaitre un message qui demande la validation de l'action effacer la dernière ligne si celle-ci est remplit?

Merci de votre aide!

Hello,

qqch comme ceci :

If MsgBox("Etes-vous certain de vouloir supprimer la dernière ligne ?", vbYesNo, "Demande de confirmation") = vbYes Then
        Row(x).delete
        MsgBox "La dernière ligne  a été effacé !"
End If

R@g

Merci super!

Mais je viens de m'apercevoir que ma macro "effacer dernière ligne du tableau" ne marche pas. En fait, elle s'est mis à effacer au-dela du tableau, je n'arrive pas à la contenir dans le tableau...

Concrètement, je voudrait juste pouvoir en appuyant sur le "-" effacer la dernière ligne du tableau, avec un message de confirmation si une cellule dans cette suppression n'est pas vide...

Merci...

A tester :

derniereLigne = Range("A" & Rows.Count).End(xlUp).Row 

If MsgBox("Etes-vous certain de vouloir supprimer la dernière ligne ?", vbYesNo, "Demande de confirmation") = vbYes Then
        Row(derniereLigne).delete
        MsgBox "La dernière ligne  a été effacé !"
End If

Bonjour, merci pour l'aide. Je bataille quand même.

Voici se que j'ai trouver pour supprimer la dernière ligne:

Sub Supprimerligne()
'
'Sub SuppDernLigne()
  If Feuil1.Range("G" & Rows.Count).End(xlUp).Row - 1 = Text Then Exit Sub

  Dim Dl%
  Dl = Feuil1.Range("G" & Rows.Count).End(xlUp).Row - 1 'n° de la dernière ligne non vide de la colonne G
  Rows(Dl).Delete shift:=xlUp - 1 'Supprime la ligne vers le haut
End Sub

Problème 1: Cela supprime la dernière ligne de la colonne générale. Pas la dernière ligne du tableau. Existe-t-il une macro qui désigne la dernière ligne d'un tableau (sans prendre la ligne automatique "total" (je crois avoir réussit en inscrivant un -1 devant la formule)).

Problème 2: La macro supprime sans sécurité. Le coup du message est intéressant, mais finalement, je voudrait que la macro s'annule si elle rencontre une cellule non vide lorsqu'on l'active pour supprimer la ligne.

Merci de votre patience. Bonne journée!

Bonjour à tous,

Problème 1: Cela supprime la dernière ligne de la colonne générale. Pas la dernière ligne du tableau. Existe-t-il une macro qui désigne la dernière ligne d'un tableau (sans prendre la ligne automatique "total" (je crois avoir réussit en inscrivant un -1 devant la formule)).

un essai > ton tableau se nomme "Tableau2" > sans vérification ...

Sub Insertionligne()
' Insertion ligne Macro
    Range("Tableau2").ListObject.ListRows.Add AlwaysInsert:=True
End Sub

Sub Supprimerligne()
' Suppression dernière ligne
    Range("Tableau2").ListObject.ListRows(Selection.ListObject.ListRows.Count).Delete
End Sub

ric

Bonjour à tous,

Un essai de suppression de la dernière ligne avec vérification si cette ligne est bien vide ...

Sub Supprimerligne()
Dim Cell As Range
Dim X As Integer
   ' Suppression dernière ligne si elle est vide

   With Range("Tableau2")
      For X = 1 To .Columns.Count
         If Not IsEmpty(.Cells(.Rows.Count, X)) Then
            Exit Sub
         ElseIf X >= .Columns.Count Then
            .ListObject.ListRows(.ListObject.ListRows.Count).Delete
            Exit Sub
         End If
      Next X
   End With
End Sub

ric

Merci à tous, j'ai obtenue ce que je voulais. Supprimer ou inserer facilement une ligne du tableau. En prime, on ne peut pas effacer une ligne non vide. C'est parfait! Merci à tous!

PS Ric:

Magnifique macro ;))

ric

Rechercher des sujets similaires à "stop suppression vide"