DJO
-
10 avril 2013 à 22:55
f894009
Messages postés17205Date d'inscriptiondimanche 25 novembre 2007StatutMembreDernière intervention19 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
'
'------------------------------------------------------
'------------------------------------------------------
'
'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
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
'--------------------------------------------------
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
'--------------------------------------------------
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(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
'---------------------------------------------------------------------
'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
'--------------------------------
'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
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.
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(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
'------------------------------------------------------
'
'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