Vba excel

Résolu/Fermé
Skeo - 26 avril 2010 à 09:09
 Skeo - 26 avril 2010 à 11:08
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 mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
Modifié par Polux31 le 26/04/2010 à 09:30
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
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 mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
26 avril 2010 à 09:48
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
Ç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 mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
26 avril 2010 à 09:58
De rien et désolé d'avoir été un instant à l'ouest ....

;o)
0
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