Private Sub CommandButtonSupprimer_Click()
Dim idx As Variant
If CB_SuppJoueur.Value <> "" Then
With Sheets("Joueurs").Range("Tableau1[#Data]")
idx = Application.Match(CB_SuppJoueur.Value, .Columns(2), 0)
If Not IsError(idx) Then .Rows(idx).Delete xlShiftUp
End With
CB_SuppJoueur = ""
Else
MsgBox ("Veuillez sélectionner un joueur dans la liste")
End If
End Sub
Private Sub CommandButtonSupprimer_Click()
' idx qui contiendra le résultat de la fonction MATCH (EQUIV) doit être variant car
' si la fonction échoue il contiendra une valeur d'erreur : xlErrNa (#N/A dans une cellule)
' si elle réussit idx contiendra le numéro ordinal de la ligne dans les données du tableau (1 à n)
Dim idx As Variant
' Si on a une valeur pour le combobox
If CB_SuppJoueur.Value <> "" Then
'Chercher dans les données du tableau est égal à Tableau1[#Données] dans la feuille de calcul
With Sheets("Joueurs").Range("Tableau1[#Data]")
' On cherche la valeur du combobox dans la deuxième colonne du tableau
idx = Application.Match(CB_SuppJoueur.Value, .Columns(2), 0)
' Si trouvé (idx n'est pas une erreur) alors on supprimer la ligne des données correspondantes.
If Not IsError(idx) Then .Rows(idx).Delete xlShiftUp
End With
CB_SuppJoueur = ""
Else
MsgBox ("Veuillez sélectionner un joueur dans la liste")
End If
End Sub
J'ai pensé quemais sans supprimer les numéros de la colonne A ?
.Rows(idx).Delete xlShiftUp
Merci de cette mise au point.' si elle réussit idx contiendra le numéro ordinal de la ligne dans les données du tableau (1 à n)