Aide avec Option Button

Fermé
DJO - 10 avril 2013 à 22:55
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 11 avril 2013 à 08:44
Bonjour,

Encore besoin de votre aide j'ai 3 option button mais ne fonctionne pas est-ce que mes commande son ok merci encore de votre aide

Non Planifiée - Annulation - Planifée



Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

End Sub

Private Sub ComboBox3_Change()

End Sub

'------------------------------------------------------
'
'Fonction: Permet d'afficher le calendrier pour la
' sélection de la date
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------
Private Sub CommandButton1_Click() 'Affiche le calendrier

Userform2.Show

End Sub

'------------------------------------------------------
'
'Fonction: Permet d'afficher le calendrier pour la
' sélection de la date
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------

Private Sub CommandButton7_Click() 'Affiche le calendrier

UserForm3.Show

End Sub

'------------------------------------------------------
'
'Fonction: Recherche d'une demande créée antérieurement
' par le numéro
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------


Private Sub CommandButton6_Click() 'Recherche une demande antérieure

Dim Rech_demande As String

OptionButton1.Value = False 'Initialise les types de demande
OptionButton2.Value = False
OptionButton3.Value = False

If TextBox1.Value = "" Then 'Vérifie l'entrée de données
MsgBox ("Entrer un no de demande")

Else
Rech_demande = TextBox1.Value

For i = 2 To 1048576 'Recherche le no de demande dans les données

If Sheets("Données").Cells(i, 1).Value = "" Then
MsgBox ("Numéro de demande introuvable")
Call Userform_Initialize 'Initialise le formulaire
Exit For

ElseIf Rech_demande = Sheets("Données").Cells(i, 1).Value Then 'Si trouvé


'Remplit les champs du formulaire
TextBox1.Value = Sheets("Données").Cells(i, 1).Value '# de demande
ComboBox1.Value = Sheets("Données").Cells(i, 3).Value 'Équipe
ComboBox2.Value = Sheets("Données").Cells(i, 4).Value 'Nom, Prénom
TextBox6.Value = Sheets("Données").Cells(i, 5).Value 'No employé
TextBox2.Value = Sheets("Données").Cells(i, 7).Value 'Date DU
TextBox4.Value = Sheets("Données").Cells(i, 8).Value 'Date AU
TextBox5.Value = Sheets("Données").Cells(i, 9).Value 'Nbre hres

If Sheets("Données").Cells(i, 10).Value = "Dernière Minute" Then 'Derniere Minute
OptionButton1.Value = True
End If

If Sheets("Données").Cells(i, 10).Value = "Planifiée" Then 'Planifiée
OptionButton2.Value = True
End If

If Sheets("Données").Cells(i, 10).Value = "Annulation" Then 'Annulation
OptionButton3.Value = True
End If

ComboBox3.Value = Sheets("Données").Cells(i, 11).Value 'Type d'absence
TextBox3.Value = Sheets("Données").Cells(i, 12).Value 'Justification
ComboBox4.Value = Sheets("Données").Cells(i, 13).Value 'Gestionnaire PMO
Label3.Caption = Sheets("Données").Cells(i, 2).Value 'Date et heure de la demande

Exit For

End If
Next

End If


End Sub

'------------------------------------------------------
'
'Fonction: Permet d'afficher la feuille des données
' suite à l'entrée d'un mot de passe
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------

Private Sub CommandButton8_Click()

UserForm1.Hide
Worksheets("Données").Select
Range("A1:M1").Select
Selection.AutoFilter

End Sub

Private Sub Frame1_Click()

End Sub

Private Sub Frame2_Click()

End Sub

Private Sub Label1_Click()

End Sub

Private Sub OptionButton1_Click()

End Sub

Private Sub OptionButton2_Click()

End Sub

Private Sub OptionButton3_Click()

End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub TextBox2_Change()

End Sub

'------------------------------------------------------
'
'Fonction: Initialise les champs du formulaire de saisie
' de données à l'ouverture du fichier
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------

Private Sub Userform_Initialize()

Dim Today As Date 'Déclare les variables.
Dim ITEM As Integer

Today = Now 'Initialise les variables
ITEM = 0

ComboBox1.Clear 'Initialise les champs du formulaire
ComboBox2.Clear
ComboBox3.Clear
ComboBox4.Clear
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""

For i = 2 To 1048576 'Initialise le prochain numéro d'item

If Sheets("Données").Cells(i, 1).Value = "" Then
ITEM = i
Exit For
End If

Next

TextBox1.Value = ITEM - 1 'Initialise le champ Item dans le formulaire

ComboBox1.AddItem "AST" 'Liste des équipes
ComboBox1.AddItem "CHAUD A"
ComboBox1.AddItem "CHAUD A/C"
ComboBox1.AddItem "CHAUD B"
ComboBox1.AddItem "CHAUD B/D"
ComboBox1.AddItem "CHAUD C"
ComboBox1.AddItem "CHAUD D"
ComboBox1.AddItem "EXPEDITION"
ComboBox1.AddItem "FROID A"
ComboBox1.AddItem "FROID A/C"
ComboBox1.AddItem "FROID B"
ComboBox1.AddItem "FROID B/D"
ComboBox1.AddItem "FROID C"
ComboBox1.AddItem "FROID D"
ComboBox1.AddItem "OCCASIONELS CHAUD"
ComboBox1.AddItem "OCCASIONELS FROID"
ComboBox1.AddItem "OUTILLEURS"
ComboBox1.AddItem "REFRACTAIRE"
ComboBox1.AddItem "SAF A/C"
ComboBox1.AddItem "SAF B/D"
ComboBox1.AddItem "SCIE 2 A/C"
ComboBox1.AddItem "SCIE 2 B/D"

OptionButton1.Value = False 'Initialise les bouton option et la case à cocher
OptionButton2.Value = False
OptionButton3.Value = False

ComboBox3.AddItem "Décès" 'Liste des type d'absence
ComboBox3.AddItem "Fête Nationale"
ComboBox3.AddItem "Maladie"
ComboBox3.AddItem "Mobile"
ComboBox3.AddItem "Obligation fam."
ComboBox3.AddItem "Pers.non payé"
ComboBox3.AddItem "Prise BA"
ComboBox3.AddItem "Prise CP"
ComboBox3.AddItem "Prise férié"
ComboBox3.AddItem "Prise relève"
ComboBox3.AddItem "Prise suppl."
ComboBox3.AddItem "Sans solde"
ComboBox3.AddItem "Vacances"
ComboBox3.AddItem "Autres"

TextBox3.Value = "" 'Texte par défault

For i = 2 To 23

If Sheets("Infos_Employé").Cells(i, 12).Value = "" Then
Exit For
End If

ComboBox4.AddItem Sheets("Infos_Employé").Cells(i, 12).Value
Next

'ComboBox4.AddItem "BOURASSA , France" 'Liste des gestionnaires PM-O
'ComboBox4.AddItem "DUGUAY , Josianne"
'ComboBox4.AddItem "GODARD , Dominic"

Label3.Caption = "Pas sauvegardé" 'Initialise l'état de la sauvegarde

End Sub

'------------------------------------------------------
'
'Fonction: Initialise le champ des techniciens suite à
' à la sélection de l'équipe
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------

Private Sub ComboBox1_Click()

ComboBox2.Clear 'Efface la liste de choix précédente

Dim NOM As String 'Définit les variables
Dim Equipe As Variant

NOM = "-" 'Initialise les variables
Equipe = ComboBox1.Value

For c = 2 To 250 'Remplit le champ nom technicien
If Equipe = Sheets("Infos_Employé").Cells(c, 3).Value Then
NOM = Sheets("Infos_Employé").Cells(c, 2).Value
ComboBox2.AddItem NOM
End If
Next


End Sub

'------------------------------------------------------
'
'Fonction: Recherche et remplit le champ du no employé
' suite à la sélection de l'employé
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------

Private Sub ComboBox2_Click() 'Recherche le no d'employé

TextBox6.Value = ""

Dim NOM, NO_EMPL As String 'Définit les variables

NOM = ComboBox2.Value 'Initialise les variables

For c = 2 To 250 'Remplit le champ nom technicien
If NOM = Sheets("Infos_Employé").Cells(c, 2).Value Then
NO_EMPL = Sheets("Infos_Employé").Cells(c, 1).Value
TextBox6.Value = NO_EMPL
End If
Next

End Sub

'----------------------------------------------------------
'
'Fonction: Permet :1 - d'enregistrer les données entrées
' dans le formulaire dans la feuille
' de données
'
' 2 - de remplir un rapport électronique
' à partir de ces données
'
' 3 - de créer une copie de ce rapport
' et de l'envoyer au superviseur et
' à l'employé
'
' 4 - d'offrir le choix d'effacer ou
' non (en appelant la fonction
' d'initialisation)
'
'Par: Eric Blais
'Date : 2009-02-17
'
'----------------------------------------------------------


Private Sub CommandButton2_Click()

Dim Liste As String
Dim Liste_debut As String
Dim Email_Tech, Email_Sup, Email_planif As String
Dim Liste_Email As Variant
Dim Msg, Style, Title, Help, Ctxt, Response, MyString 'Variable de confirmation de sauvegarde
Dim Nouvelle As Boolean 'Statut de l'entrée de données




Liste = "Veuillez remplir les champs manquants suivants:" & vbLf & vbLf & vbTab
Liste_debut = Liste
Email_Tech = ""
Email_Sup = ""
Email_planif = ""

'-------------------------------------------------
'Vérifie que les champs obligatoires sont remplis
'-------------------------------------------------

If ComboBox1.Value = "" Then
Liste = Liste + "- Équipe" & vbLf & vbTab
End If

If ComboBox3.Value = "" Then
Liste = Liste + "- NOM, Prénom" & vbLf & vbTab
End If

If TextBox2.Value = "" Then
Liste = Liste + "- Date de l'absence" & vbLf & vbTab
End If

If OptionButton1.Value = False And OptionButton2.Value = False And OptionButton3.Value = False Then
Liste = Liste + "- Type de demande" & vbLf & vbTab
End If

If ComboBox3.Value = "" Then
Liste = Liste + "- Type d'absence" & vbLf & vbTab
End If

If ComboBox4.Value = "" Then
Liste = Liste + "- Gestionnaire PM-O" & vbLf & vbTab
End If


'-----------------------------------------------------
'Vérifie que les dates sélectionnées sont compatibles
'-----------------------------------------------------

If TextBox2.Value > TextBox4.Value Then
If TextBox4.Value = "" Then
TextBox4.Value = TextBox2.Value
Else
MsgBox ("La date de début est supérieure à la date de fin")
Liste = Liste + " Modifier Date(s) " & vbLf & vbTab
End If
End If

'--------------------------------------------------
' Si toutes les informations requises sont remplies
'--------------------------------------------------

If Liste = Liste_debut Then

Rangee_Active = TextBox1.Value + 1

Nouvelle = True 'Initialise à VRAI la demande comme étant nouvelle

If Sheets("Données").Cells(Rangee_Active, 2).Value = "" Then 'Message en fonction si nouvelle demande ou non
Msg = "Souhaitez-vous enregistrer?"
Nouvelle = True
Else
Msg = "Voulez-vous enregistrer les modifications apportées à la demande sélectionnée?"
Nouvelle = False
End If


Style = vbYesNo + vbCritical + vbDefaultButton3 ' Définit les boutons.
Title = "Confirmation" ' Définit le titre.


' Affiche le message.
Response = MsgBox(Msg, Style, Title)

If Response = vbYes Then ' L'utilisateur a choisi Oui.


'--------------------------------------------------
'ENREGISTRE LES DONNÉES DANS LE FICHIER
'--------------------------------------------------


Equipe = ComboBox1.Value
Nom_Tech = ComboBox2.Value
Rangee_Active = TextBox1.Value + 1

Sheets("Données").Cells(Rangee_Active, 1).Value = TextBox1.Value
Sheets("Données").Cells(Rangee_Active, 3).Value = ComboBox1.Value
Sheets("Données").Cells(Rangee_Active, 4).Value = ComboBox2.Value
Sheets("Données").Cells(Rangee_Active, 5).Value = TextBox6.Value
Sheets("Données").Cells(Rangee_Active, 6).Value = DatePart("ww", CDate(TextBox2.Value))
Sheets("Données").Cells(Rangee_Active, 7).Value = CDate(TextBox2.Value)
Sheets("Données").Cells(Rangee_Active, 8).Value = CDate(TextBox4.Value)
Sheets("Données").Cells(Rangee_Active, 9).Value = TextBox5.Value

If OptionButton1.Value = True Then
Sheets("Données").Cells(Rangee_Active, 10).Value = "Dernière Minute"
End If
If OptionButton2.Value = True Then
Sheets("Données").Cells(Rangee_Active, 10).Value = "Planifiée"
End If
If OptionButton3.Value = True Then
Sheets("Données").Cells(Rangee_Active, 10).Value = "Annulation"
End If
Sheets("Données").Cells(Rangee_Active, 11).Value = ComboBox3.Value
Sheets("Données").Cells(Rangee_Active, 12).Value = TextBox3.Value
Sheets("Données").Cells(Rangee_Active, 13).Value = ComboBox4.Value

Sheets("Données").Cells(Rangee_Active, 2).Value = Now 'Date de la sauvegarde
Label3.Caption = Sheets("Données").Cells(Rangee_Active, 2).Value
ActiveWorkbook.Save

'--------------------------------------------------
'ENVOYER PAR COURRIEL AU SUPERVISEUR et TECHNICIEN
'--------------------------------------------------

'Créer le rapport pour l'envoi au superviseur

Sheets("Rapport").Cells(10, 5) = TextBox1.Value '# demande
Sheets("Rapport").Cells(13, 4) = ComboBox2.Value 'Nom
Sheets("Rapport").Cells(15, 4) = ComboBox1.Value 'Équipe
Sheets("Rapport").Cells(13, 7) = TextBox6.Value 'No employé
Sheets("Rapport").Cells(18, 5) = TextBox2.Value 'Date prévue de l'absence (DU:)
Sheets("Rapport").Cells(18, 7) = TextBox4.Value 'Date prévue de l'absence (AU:)
Sheets("Rapport").Cells(20, 5) = TextBox5.Value 'Nbre d'heure

If OptionButton1 = True Then 'Type de demande
Sheets("Rapport").Cells(22, 4) = "Dernière Minute"
End If
If OptionButton2 = True Then
Sheets("Rapport").Cells(22, 4) = "Planifiée"
End If
If OptionButton3 = True Then
Sheets("Rapport").Cells(22, 4) = "Annulation"
End If

Sheets("Rapport").Cells(24, 4) = ComboBox3.Value 'Type d'absence
Sheets("Rapport").Cells(27, 2) = TextBox3.Value 'Justification
Sheets("Rapport").Cells(32, 4) = ComboBox4.Value 'Gestionnaire PM-O

Sheets("Rapport").Cells(35, 5) = Label3.Caption 'Date et heure de la demande


'Recherche l'adresse du superviseur

For i = 2 To 40
If Equipe = CStr(Sheets("Infos_Employé").Cells(i, 6).Value) Then
Email_Sup = Sheets("Infos_Employé").Cells(i, 7).Value
Exit For
End If
Next


'Recherche l'adresse du technicien

For i = 2 To 250

If Nom_Tech = CStr(Sheets("Infos_Employé").Cells(i, 2).Value) Then
Email_Tech = Sheets("Infos_Employé").Cells(i, 4).Value
Exit For
End If
Next

'Recherche l'adresse du superviseur

For i = 2 To 40
If Equipe = CStr(Sheets("Infos_Employé").Cells(i, 9).Value) Then
Email_planif = Sheets("Infos_Employé").Cells(i, 10).Value
Exit For
End If
Next


Sheets("Rapport").Cells(38, 4).Value = Email_Sup 'Demande envoyée à
Sheets("Rapport").Cells(39, 4).Value = Email_Tech
Sheets("Rapport").Cells(40, 4).Value = Email_planif

'---------------------------------------------------------------------
'CREER LA COPIE DU RAPPORT À ENVOYER AU TECHNICIEN ET AU SUPERVISEUR
'---------------------------------------------------------------------

Worksheets("Rapport").Visible = True 'Crée le fichier du rapport à joindre au courriel
Sheets("Rapport").Select
Range("A1:H42").Select
Range("H42").Activate
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$42"
ActiveSheet.PageSetup.FitToPagesTall = 1
ActiveSheet.PageSetup.FitToPagesWide = 1
Columns("A:A").ColumnWidth = 10
Columns("H:H").ColumnWidth = 10



'Adapte le sujet du courriel en fct de : nouvelle entrée ou modification

If Nouvelle = True Then
Texte_sujet = "Demande d'absence # " + TextBox1.Value + " - Gestion PM-O"
ElseIf Nouvelle = False Then
Texte_sujet = "RÉVISION - Demande d'absence # " + TextBox1.Value + " - Gestion PM-O"
End If


Liste_Email = Array(Email_Sup, Email_Tech, Email_planif)

ActiveWorkbook.SendMail Recipients:=Liste_Email, _
Subject:=Texte_sujet


ActiveWindow.Close (False)
Sheets("Formulaire").Select
MsgBox ("Rapport de demande envoyé à : " & vbLf & vbTab & Email_Sup & vbLf & vbTab & Email_Tech & vbLf & vbTab & Email_planif)


'--------------------------------
'EFFACE LES CHAMPS DU FORMULAIRE
'--------------------------------

Call CommandButton4_Click 'appelle la fonction effacer le formulaire

End If


Else
MsgBox (Liste) 'Si les champs obligatoires ne sont pas tous remplis
End If



End Sub

'----------------------------------------------------------
'
'Fonction: Permet d'imprimer la demande d'absence active
' dans le formulaire de saisie sur l'imprimante
' définie par défaut
'
'Par: Eric Blais
'Date : 2009-02-17
'
'----------------------------------------------------------

Private Sub CommandButton3_Click()

Dim Equipe, Equipe_Liste, Adresse, Nom_Tech As String 'Définit les variables
Dim Colonne_Equipe As Integer
Dim Msg, Style, Title, Help, Ctxt, Response, MyString


Equipe = ComboBox1.Value 'initialise certaines variables
Nom_Tech = ComboBox2.Value
Equipe_Liste = ""
Adresse = ""
Colonne_Equipe = 0
Sauvegarde = Label3.Caption



'Confirme la demande d''impression

Msg = "Voulez-vous imprimer?" ' Définit le message.
Style = vbYesNo + vbQuestion + vbDefaultButton2 ' Définit les boutons.
Title = "Confirmation d'impression" ' Définit le titre.


If Sauvegarde = "Pas sauvegardé" Then
MsgBox ("Veuillez enregistrer ou sélectionner une entrée sauvegardée")
Else 'Remplit le formulaire d'impression
Response = MsgBox(Msg, Style, Title) ' Affiche le message.

If Response = vbYes Then ' L'utilisateur a choisi Oui.

Sheets("Rapport").Cells(10, 5) = TextBox1.Value '# demande
Sheets("Rapport").Cells(13, 4) = ComboBox2.Value 'Nom
Sheets("Rapport").Cells(15, 4) = ComboBox1.Value 'Équipe
Sheets("Rapport").Cells(13, 7) = TextBox6.Value 'No employé
Sheets("Rapport").Cells(18, 5) = TextBox2.Value 'Date prévue de l'absence (AU:)
Sheets("Rapport").Cells(18, 7) = TextBox4.Value 'Date prévue de l'absence (DU:)
Sheets("Rapport").Cells(20, 5) = TextBox5.Value 'Nbre heure


If OptionButton1 = True Then 'Type de demande
Sheets("Rapport").Cells(22, 4) = "Dernière Minute"
End If
If OptionButton2 = True Then
Sheets("Rapport").Cells(22, 4) = "Planifiée"
End If
If OptionButton3 = True Then
Sheets("Rapport").Cells(22, 4) = "Annulation"
End If

Sheets("Rapport").Cells(24, 4) = ComboBox3.Value 'Type d'absence
Sheets("Rapport").Cells(27, 2) = TextBox3.Value 'Justification
Sheets("Rapport").Cells(32, 4) = ComboBox4.Value 'Gestionnaire PM-O

Sheets("Rapport").Cells(35, 5) = Label3.Caption 'Date et heure de la demande



'Recherche l'adresse du superviseur

For i = 2 To 40
If Equipe = CStr(Sheets("Infos_Employé").Cells(i, 6).Value) Then
Email_Sup = Sheets("Infos_Employé").Cells(i, 7).Value
Exit For
End If
Next


'Recherche l'adresse du technicien

For i = 2 To 250
If Nom_Tech = CStr(Sheets("Infos_Employé").Cells(i, 2).Value) Then
Email_Tech = Sheets("Infos_Employé").Cells(i, 4).Value
Exit For
End If
Next

Sheets("Rapport").Cells(38, 4).Value = Email_Sup 'Demande envoyée à
Sheets("Rapport").Cells(39, 4).Value = Email_Tech

'Définit l'impression et imprime le document

Worksheets("Rapport").Visible = True
Sheets("Rapport").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$42"
ActiveSheet.PrintOut

End If

End If

End Sub

'------------------------------------------------------
'
'Fonction: Initialise les champs du formulaire de saisie
' de données sur demande
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------

Private Sub CommandButton4_Click()


Dim Msg, Style, Title, Response

Msg = "Voulez-vous effacer les champs?" ' Définit le message.
Style = vbYesNo + vbQuestion + vbDefaultButton2 ' Définit les boutons.
Title = "Confirmation d'initialisation du formulaire" ' Définit le titre.

Response = MsgBox(Msg, Style, Title) ' Affiche le message.

If Response = vbYes Then ' L'utilisateur a choisi Oui.
Call Userform_Initialize
End If


End Sub

'------------------------------------------------------
'
'Fonction: Empêche l'utilisation d'utiliser le bouton
' de fermeture (X)
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode = 0 Then
Cancel = True
End If

End Sub

'------------------------------------------------------
'
'Fonction: Permet de fermer le formulaire
'Par: Eric Blais
'Date : 2009-02-17
'
'------------------------------------------------------


Private Sub CommandButton5_Click() 'Fermer le formulaire

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Souhaitez-vous quitter?" ' Définit le message.
Style = vbYesNo + vbCritical + vbDefaultButton2 ' Définit les boutons.
Title = "Quitter" ' Définit le titre.


' Affiche le message.
Response = MsgBox(Msg, Style, Title)

If Response = vbYes Then ' L'utilisateur a choisi Yes.
UserForm1.Hide
Unload UserForm1
ActiveWorkbook.Save
End If

End Sub




1 réponse

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
11 avril 2013 à 08:44
Bonjour,
A priori ecriture bonne, mais que voulez vous dire par: j'ai 3 option button mais ne fonctionne pas

A+
0