Aide avec Option Button
DJO
-
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Aide avec Option Button
- Option d'ergonomie - Guide
- Option volte/vowifi - Guide
- Delete boot option - Forum BIOS
- Option voyage free - Forum Free mobile
- Option empreinte digitale disparue ✓ - Forum Xiaomi