Pb lors d'une suppression

Le
DAVID
Bonjour

Avec le code ci dessous, cela me permet de supprimer une fiche.

Ca fonctionne très bien sauf dans un cas. Lors de la suppression de la
dernière ligne.

Avez vous une idée ?

Merci de votre aide

Cordialement
David


Private Sub CmdSupprimer_Click()

'Boite Confirmation
Dim réponse
réponse = MsgBox(" Etes vous sur de vouloir SUPPRIMER cette fiche ? ",
vbYesNo + vbQuestion, "Validation")
If réponse = vbNo Then Exit Sub

'Récupérer Index
ndx = LstListeVehicule.ListIndex

With Sheets("BD")
.Cells(ndx + 2, 1).Delete '1 est la colonne
.Cells(ndx + 2, 2).Delete
.Cells(ndx + 2, 3).Delete
.Cells(ndx + 2, 4).Delete
.Cells(ndx + 2, 5).Delete
.Cells(ndx + 2, 6).Delete
.Cells(ndx + 2, 7).Delete
.Cells(ndx + 2, 8).Delete
.Cells(ndx + 2, 9).Delete
End With
'recalculer la liste
'Liste_Modes_Paiement
UserForm_Initialize
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #20977651
Bonjour,

Dans un contrôle "listbox" la première donnée
débute avec un index de 0. Dans une feuille de
calcul la première ligne débute à 1.
Le premier item ndx + 2 devrait plutôt être ndx + 1
Pour que le premier item du listbox corresponde à
l'item de la première ligne dans la plage de cellules.




"DAVID"
Bonjour

Avec le code ci dessous, cela me permet de supprimer une fiche.

Ca fonctionne très bien sauf dans un cas. Lors de la suppression de la
dernière ligne.

Avez vous une idée ?

Merci de votre aide

Cordialement
David


Private Sub CmdSupprimer_Click()

'Boite Confirmation
Dim réponse
réponse = MsgBox(" Etes vous sur de vouloir SUPPRIMER cette fiche ? ",
vbYesNo + vbQuestion, "Validation")
If réponse = vbNo Then Exit Sub

'Récupérer Index
ndx = LstListeVehicule.ListIndex

With Sheets("BD")
.Cells(ndx + 2, 1).Delete '1 est la colonne
.Cells(ndx + 2, 2).Delete
.Cells(ndx + 2, 3).Delete
.Cells(ndx + 2, 4).Delete
.Cells(ndx + 2, 5).Delete
.Cells(ndx + 2, 6).Delete
.Cells(ndx + 2, 7).Delete
.Cells(ndx + 2, 8).Delete
.Cells(ndx + 2, 9).Delete
End With
'recalculer la liste
'Liste_Modes_Paiement
UserForm_Initialize
End Sub
DAVID
Le #20977631
Bonjour

Cela supprime la ligne au dessus car ma base dans la feuille est :

Ligne 1 : Entête
Ligne 2 à ...... : Données

Merci de ton aide

Cordialement
Publicité
Poster une réponse
Anonyme