Précédent   Forum des professionnels en informatique > Autres langages > Général Visual Basic 6 et VBScript > VBScript
VBScript Le forum d'entraide sur VBScript. Avant de poster -> La FAQ VBScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2012, 19h42   #1
Invité régulier
 
Homme
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 8
Points : 8
Par défaut Double condition if

J'ai mon petit script mais je n'arrive pas a faire la règle pour la double condition if strPhone =Gr1 ET strOffice =Bureau1 ALORS fait ceci?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
strPhone = objUser.telephoneNumber
strOffice = objUser.physicalDeliveryOfficeName
Set objNetwork = CreateObject("WScript.Network")
Set objUser = CreateObject("ADSystemInfo")
Set objCurrentUser = GetObject("LDAP://" & objUser.UserName)
 
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Popup "Blabla",30, "Note", 0
 
If (InStr(LCase(strPhone), "Gr1") = 1) And If (InStr(LCase(strOffice), "Bureau1") = 1) Then
objNetwork.MapNetworkDrive "X:", "\\serveur\partage\dir\"& strPhone
End If
 
If (InStr(LCase(strPhone), "Gr2") = 1) And If (InStr(LCase(strOffice), "Bureau1") = 1) Then
objNetwork.MapNetworkDrive "X:", "\\serveur\partage\dir\"& strPhone
End If
Est ce que c'est possible?

Merci de votre aide
JFMichaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 19h45   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Bonsoir,

t'est tu demandé à quoi servait ta fonction Lcase ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 19h49   #3
Invité régulier
 
Homme
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 8
Points : 8
LCase=Convertit la chaîne string en minuscules.

je vais tester
JFMichaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 20h36   #4
Invité régulier
 
Homme
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 8
Points : 8
Je nage sans trouver

J'ai essayé en enlevant le LCase...
J'ai tout mis en minuscule/majuscule

Mais j'ai pas compris la logique?

Un autre petit hint
JFMichaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 21h18   #5
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
et oui si tu utilise Lcase tes chaines à comparer doivent elle aussi être en minuscule..

sinon j'avais pas vu ton 2° if en trop ...
Code :
1
2
 
If (InStr(LCase(strPhone), "gr1") = 1) And (InStr(LCase(strOffice), "bureau1") = 1) Then
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/02/2012, 21h42   #6
Invité régulier
 
Homme
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 8
Points : 8
AHHH merci bbil c'était effectivement le 2ieme if en trop

mais est ce possible de m'expliquer pour voir si j'ai bien comprit

(InStr(LCase(strOffice), "bureau1") = 1)

Dans la chaine d'instruction strOffice l'information doit correspondre à bureau1...

Donc peut importe si dans AD il est écrit Bureau1 ou bureau1 ?
JFMichaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 22h06   #7
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Oui, par défaut Instr fait une comparaison binaire et donc A et différent de a ..

Un troisième paramètre permet de faire une comparaison en mode texte (voir le cas "D" ci-dessous ):
Code :
1
2
3
4
Wscript.echo "A : " & InStr("Aeaje","Ae")
Wscript.echo "B : " & InStr("Aeaje","ae")
Wscript.echo "C : " & InStr(Lcase("Aeaje"),"ae",1)
Wscript.echo "D : " & InStr("Aeaje","ae",1)
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h52.


 
 
 
 
Partenaires

Hébergement Web