Vba excel

Résolu
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!!


1 réponse

Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
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:

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
1
Skeo
 
J'ai remplacer

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!
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Autant pour moi ... j'chui mal réveillé.

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.
0
Skeo
 
Ça marche!

En fait ça a solutionné les deux problèmes en même temps merci beaucoup !!!
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
De rien et désolé d'avoir été un instant à l'ouest ....

;o)
0
Skeo
 
En fit j'ai fait un userform4.hide au début puis userform4.unlad à la fin comme tu me l'as conseillé et c'est nickel
0