Vba excel
Résolu
Skeo
-
Skeo -
Skeo -
Bonjour!
J'ai un petit bout de code qui merdouille un peu et je n'arrive pas à savoir d'où vient le problème et comme je suis débutant en vba je suis un peu dans la panade c'est pourquoi je m'adresse à vous!
(c'est dans un userform)
Public salarie As String
Private Sub ComboBox1_Change()
salarie = ComboBox1.Value
End Sub
Private Sub CommandButton1_Click()
Unload UserForm4
Sheets("Employés").Select
Cells.Find(What:=salarie).Select
If MsgBox("Etes vous absolument sûr de vouloir supprimer définitivement " & salarie & "?", vbOKCancel + vbQuestion, "Confirmer la suppression.") = vbOK Then
Selection.EntireRow.Delete
Else: Exit Sub
End If
Sheets("S0").Select
End Sub
Pb n°1: Le code ne permet pas de supprimer de la liste la ligne sélectionnée (ce qui est quand même son but premier)
Pb n°2: La msgbox n'affiche que "Êtes vous absolument sûr de vouloir supprimer définitivement ?" sans afficher le nom du salarié sélectionné.
Je précise que c'est un fichoer excel qui sert de planning.
Voila si vous avez un petit bout de réponse je suis preneur.
Merci à tous!!
J'ai un petit bout de code qui merdouille un peu et je n'arrive pas à savoir d'où vient le problème et comme je suis débutant en vba je suis un peu dans la panade c'est pourquoi je m'adresse à vous!
(c'est dans un userform)
Public salarie As String
Private Sub ComboBox1_Change()
salarie = ComboBox1.Value
End Sub
Private Sub CommandButton1_Click()
Unload UserForm4
Sheets("Employés").Select
Cells.Find(What:=salarie).Select
If MsgBox("Etes vous absolument sûr de vouloir supprimer définitivement " & salarie & "?", vbOKCancel + vbQuestion, "Confirmer la suppression.") = vbOK Then
Selection.EntireRow.Delete
Else: Exit Sub
End If
Sheets("S0").Select
End Sub
Pb n°1: Le code ne permet pas de supprimer de la liste la ligne sélectionnée (ce qui est quand même son but premier)
Pb n°2: La msgbox n'affiche que "Êtes vous absolument sûr de vouloir supprimer définitivement ?" sans afficher le nom du salarié sélectionné.
Je précise que c'est un fichoer excel qui sert de planning.
Voila si vous avez un petit bout de réponse je suis preneur.
Merci à tous!!
A voir également:
- Vba excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
Bonjour,
ComboBox1.Value renvoit un booléan, c'est à dire False (non coché) ou True (coché). Ici salarie est un string.
La variable salarie ne contient jamais le nom du salarie à supprimer.
Si la combobox a pour étiquette de nom du salarie, alors il faut faire:
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
ComboBox1.Value renvoit un booléan, c'est à dire False (non coché) ou True (coché). Ici salarie est un string.
La variable salarie ne contient jamais le nom du salarie à supprimer.
Si la combobox a pour étiquette de nom du salarie, alors il faut faire:
salarie = ComboBox1.Caption
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
salarie = ComboBox1.Value
par
salarie = ComboBox1.Caption
mais ça me renvoie un erreur disant "Membre de donnée ou de méthode introuvable" vois tu doit cela peut-il venir? peut être que je doit changer salarie as string non?
Désolé de mon ignorance mais je n'y connait pas grand chose je débute...
Mais merci de ta réponse!
salarie = combobox.Text ou combobox.value est correct, ça ne renvoie pas un booléen.
Combobox1 est dans le UserForm4 ? si oui mets Unload UserForm4 à la fin de la procédure du commandButton1, juste avant le End Sub.
En fait ça a solutionné les deux problèmes en même temps merci beaucoup !!!
;o)