Bonjour,
Encore désolé de ne pas t'avoir répondu plus tôt (je suis un peu chargé en ce moment).
Je vais essayer de decrire le probleme autrement.
Dans notre environnement de travail, nous utilisons une base de donnés qui ne permet pas de générer de mail automatique (en cas de renvoie vers une autre prestation).
Nous avons donc des mails types, que nous remplissons à coup de copier coller.
Un exemple de mail type consiste à envoyer, pour un même client, une demande d'intervention sur 2 modeles de portable différent avec une prestation supplémentaire suivant le cas, ou sur 6 modeles d'imprimantes.
Pour les mail type, et les information telles que les coordonné d'intervention et tout le reste, aucun probleme, j'ai déja préparé le code sous autoit.
Vient le probleme du type d'intervention
Remplaçons ma liste de choix de cette façons :
Code : Tout sélectionner
GUICtrlSetData(-1, "portable 1|portable 2|portable 3|portable 4")
à la place je met :
Code : Tout sélectionner
GUICtrlSetData(-1, "portable 1 sans prestation|portable 1 avec prestation supplémentaire|portable 2 sans prestation|portable 2 avec prestation supplémentaire")
Ce qui nous donne toujours une liste de quatre choix
Par contre, la liste concernant les imprimantes reste intacte.
La condition première est qu'un seul matériel doit être choisi (portable
ou imprimante), avant de passer à la suite.
C'est pour çà que je suis partis dans le sens inverse, en indiquant comme critére de référence le terme
"(aucun)".
Ce que je voulais savoir, c'est si je crée deux variables Locales de type :
Puis je alors l'attribuer de la façon suivante :
Code : Tout sélectionner
[i][b]$nSRVCMB1 = GUICtrlSetData[/b](-1, "portable 1 sans prestation|portable 1 avec prestation supplémentaire|portable 2 sans prestation|portable 2 avec prestation supplémentaire")[/i]
et
Code : Tout sélectionner
[i]$nSRVCMB2 = GUICtrlSetData(-1, "Imprimante 1|Imprimante 2|imprimante 3|imprimante 4|imprimante 5|imprimante 6")[/i]
Et poser mes conditions dans la fonction suivante :
Code : Tout sélectionner
If GUICtrlRead($Srv_Cmb_L) = "(aucun)" And GUICtrlRead($Srv_Cmb_P) = "(aucun)" Then
MsgBox(1, "Erreur", "Veuillez choisir un matériel")
ElseIf GUICtrlRead($Srv_Cmb_L) = $nSRVCMB1 And GUICtrlRead($Srv_Cmb_P) = $nSRVCMB2 Then
MsgBox(1, "Erreur", "Veuillez choisir un seul matériel")
ElseIf GUICtrlRead($Srv_Cmb_L) = $nSRVCMB1 And GUICtrlRead($Srv_Cmb_P) = "aucun" Then
MsgBox(1, "ok","ok pour la suite")
ElseIf GUICtrlRead($Srv_Cmb_L) = "aucun" And GUICtrlRead($Srv_Cmb_P) = $nSRVCMB2 Then
MsgBox(1, "ok","ok pour la suite")
EndIf
Comme cela semble impossible, dois je remplacer le critère de Variable
Local par
Global ?
J'espère que cela sera suffisamment clair.
Si une solution existe, ce serait super.
Sinon, je te remercie encore pour l'aide que tu m'a déja apporté.
Bien cordialement.