Suppression Ligne select ListView

  • Initiateur de la discussion Initiateur de la discussion Bruce68
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bruce68

XLDnaute Impliqué
Bonsoir à tous
Je sélectionne 1 ligne dans une listView par 1 clic ( 2 clics appel un UserForm)
pour la supprimer dans ma base de données à l'aide de la macro ci dessous.Pour ne pas supprimer n'importe comment j'ai mis le If, mais le probleme c'est que je ne peux supprimer la premiere ligne qui est la N°2
Comment Faire ?

Private Sub CommandButton4M_Click() ' Supprimer 1 Enregistrement
Dim SuppLigne As Long
With UserForm2.ListView1
SuppLigne = Mid(.ListItems(.SelectedItem.Index).ListSubItems(1).Key, 2) '(1) N°colonne ;1° colonne = 0 Feuille Factures
End With
If SuppLigne = 2 Then Exit Sub
With Worksheets("Donnees")
.Rows(SuppLigne).Delete Shift:=xlUp
End With
Unload Me
Unload UserForm2
Call UserForm2.Show
End Sub

Je vous remercie de votre aide
 
Dernière édition:
Re : Suppression Ligne select ListView

Bonjour à tous

merci roro69 pour ta réponse, je peux supprimer la 1° ligne de ma base de données mais cela engendre une autre erreur si je clic sur SUPP quand la base est vide :

(If SuppLigne = 1 Then Exit Sub ce que j'ai mis à la place de:If SuppLigne = 2 Then Exit Sub)

Errreur d'execution 91
Variable objet ou variable de bloc With non définie.

Maintenant je voudrais pouvoir supprimer ce message.

Je vous remercie de votre aide
 
Re : Suppression Ligne select ListView

Bruce bonjour,
Essayes comme ceci...
Code:
Private Sub CommandButton4M_Click() 'VISUALISATION  Supprimer
Dim SuppLigne As Long
SuppLigne = UserForm2.ListView1.SelectedItem.Index + 1
With UserForm2.ListView1
.ListItems.Remove .SelectedItem.Index
Worksheets("Donnees").Rows(SuppLigne).Delete Shift:=xlUp
End With
End Sub
A+
Bruno
 
Re : Suppression Ligne select ListView

Bonsoir à tous

Merci youky(BJ) pour la solution
Le message est identique au dernier post quand je clic sur SUPP et que ma base est vide.
J'ai pensé à mettre GoTo erreur mais je ne sais pas comment l'ecrire dans la macro, comme la ListView est à 0 c'est cela qui provoque l'erreur.

Merci pour votree aide
 
Re : Suppression Ligne select ListView

Voici avec gestion d'error...
Code:
Private Sub CommandButton4M_Click() 'VISUALISATION  Supprim
Dim SuppLigne As Long
On Error GoTo fin
SuppLigne = UserForm2.ListView1.SelectedItem.Index + 1
With UserForm2.ListView1
.ListItems.Remove .SelectedItem.Index
Worksheets("Donnees").Rows(SuppLigne).Delete Shift:=xlUp
End With
fin:
End Sub

A+
Bruno
 
Bonjour à tous
je suis novice dans le forum et dans les macros j'ai essayé d'adapter le code de Bruce68 à mon fichier mais ça fonctionne pas, c'est toujours la première ligne de ma base qui se supprime et non pas celle sélectionnée dans listview
un autre problème quand je supprime les dernières lignes de ma base l'erreur d’exécution 13 apparait
je vous remercie d'avance

voici mon fichier
 

Pièces jointes

Bonjour,
Essayer comme ceci.
J'ai inversé 2 lignes
Bruno
VB:
Private Sub Command_supprimer_Click()
Dim SuppLigne As Long
On Error GoTo fin
SuppLigne = modification.ListView1.SelectedItem.Index + 1
With modification.ListView1
Worksheets("Base").Rows(SuppLigne).Delete Shift:=xlUp
.ListItems.Remove .SelectedItem.Index
End With
fin:
End Sub
 
Ok,
J'avais pas tout vu.
Dans la macro je supprime l'espace "client9 " après 9 ou les autres chiffres
J'ai pas cherché le pourquoi
Autre bug après avoir effacé client9 j'avais un bug en user_initialize
J'ai mis On error resume next ca passe mais j'ai pas le temps de chercher
VB:
Private Sub Command_supprimer_Click()
Dim SuppLigne As Long
On Error GoTo fin
If TextBox2 = "" Then Exit Sub
tx = RTrim(TextBox2)
SuppLigne = Application.Match(tx, Sheets("Base").[A:A], 0)
'SuppLigne = modification.ListView1.SelectedItem.Index + 1
With modification.ListView1
.ListItems.Remove .SelectedItem.Index
Worksheets("Base").Rows(SuppLigne).Delete
End With
fin:
End Sub
Bruno
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
817
Réponses
10
Affichages
617
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour