IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Tester si un mot se trouve dans un chaine de caractére


Sujet :

VBScript

  1. #1
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut Tester si un mot se trouve dans un chaine de caractére
    Bonjour, j'ai un script VBS qui lit un clé dans le registre, la clé qui référence la version de windows:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set WshShell = Wscript.CreateObject("Wscript.Shell")
     
    valueOS = WshShell.RegRead ("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" & "ProductName")
     
    If valueOS = "Vista" Then
     
    Else
    End if
    Je voudrai exécuter un code si la mot vista se trouve dans la chaine pouriez vous m'aider ?

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Voir la fonction InStr par exemple ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    valueOS = "Avec Vista" 
    TestVista
    valueOS = "Sans le dernier OS à la mode" 
    TestVista
     
     
    Sub TestVista
    	if InStr(ValueOS,"Vista") > 0 Then
    		MsgBox "La chaine : " & vbcrlf & ValueOS & vbcrlf & "Contient Vista"
            else
    		MsgBox "La chaine : " & vbcrlf & ValueOS & vbcrlf & "NE Contient PAS Vista"
     
    	End if
    end sub

  3. #3
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    merci beaucoup

    N'y auarit-il pas moeyen de faire ca sans le commande Sub, par ce que je veut placer mon script das un menu dans un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Etiquette1 
     
    End Sub

  4. #4
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    J'ai essayer de simplifier mais ca me renvoie une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    valueOS = WshShell.RegRead ("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" & "ProductName")
     
     
     
    	if InStr(ValueOS,"Vista") > 0 Then
    		MsgBox "La chaine : " & vbcrlf & ValueOS & vbcrlf & "Contient Vista"
            else		
    	End if
    Voyez vous ce qui ne va pas ?

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Sub c'est l'instruction qui permet d'effectuer la déclaration d'une procédure...

    ce qui est important pour toi dans le code ci dessus c'est l'instruction InStr...

    tiens un peu de lecture :

    http://tahe.developpez.com/web/vbscript/

  6. #6
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    ah ok il manquer l'objet WshShell:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    set WshShell = WScript.CreateObject("WScript.Shell")               
     
     
    valueOS = WshShell.RegRead ("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" & "ProductName")
     
     
     
    	if InStr(ValueOS,"Vista") > 0 Then
    		MsgBox "La chaine : " & vbcrlf & ValueOS & vbcrlf & "Contient Vista"
            else		
    	End if
    Merci encore

  7. #7
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Mais le script n'ignore pas la casse, n'y aurait-il pas moyen de lui faire ignorer ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] requete Linq pour tester si un mot existe déja dans une BDD SQL
    Par Teclys dans le forum ASP.NET
    Réponses: 10
    Dernier message: 05/03/2015, 17h15
  2. [XL-2010] Affiche Userform si mot non trouve dans Textbox
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/11/2012, 10h01
  3. [Débutant] Tester si une variable se trouve dans un intervalle
    Par slaima15 dans le forum MATLAB
    Réponses: 2
    Dernier message: 23/03/2011, 11h34
  4. Tester si un paragraphe se trouve dans un tableau.
    Par laurent_diep dans le forum VBA Word
    Réponses: 5
    Dernier message: 23/05/2009, 15h07
  5. Réponses: 2
    Dernier message: 13/08/2006, 23h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo