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 :

[VBS]Soustraire les éléments d’une variable


Sujet :

VBScript

  1. #1
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut [VBS]Soustraire les éléments d’une variable
    Bonjour, je suis entrain de créer un VBS qui utilise quelques variables et je voudrai décomposer l’une de ses variables, par exemple soustraire l’extension d’un fichier ou bien son nom, quelqu’un pourrait-il me renseigner ?

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Avec les fonctions Left(), Right(), Len(), Mid(), InStr() tu as tout ce qu'il te faut.

  3. #3
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Bonjour pc75 et merci vous nauriez pas un exemple ?

  4. #4
    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

  5. #5
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Bonjour bbil et merci pour se lien mais je n'arrive pas à comprendre, pouriez vous me donner un exemple ?

  6. #6
    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
    si tu suis le lien il y as des exemples.... dis nous ce que tu ve faire.. plus précisément...

  7. #7
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Plus précisément j'ai un script qui ouvre une boite de dialogue pour aller sélectionné un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set oUA = CreateObject("UserAccounts.CommonDialog")
    x = oUA.ShowOpen
    Wscript.echo oUA.FileName
    Puis il affiche le chemin de la variable oUA.FileName, je voudrai donc décomposé le chemin vers le fichier, soustraire l'extension et soustraire le nom de fichier sans le chemin.

  8. #8
    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
    tiens essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Set oUA = CreateObject("UserAccounts.CommonDialog") 
    x = oUA.ShowOpen 
    Wscript.echo oUA.FileName
    Dim st
    Dim stExt
    Dim stNom
    Dim i
    st = oUA.FileName
    st = "c:\tmp\chxFich.vbs"
    stExt = Right(st,3)
    Wscript.echo "Extension  : " & stExt
    i = InStrRev (st,"\")
    Wscript.echo i
    stNom = Mid(st,i)+1
    Wscript.echo "Nom : " & stNom

  9. #9
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Merci encore pour votre patience bbil , le code n'est pas au point, voila se qui se passe chez moi quand je double clique le VBS:

    1_ La boite de dilogue ouvrir un fichier s'ouvre je choisi donc un fichier.
    2_ Une boite de dilogue s'ouvre précisant le chemin complet du fichier.

    Jusqu'ici tout va bien mais s'est ci-dessous que sa coince:

    3_ Une boite de dilogue s'ouvre précisant l'extension .vbs (alors que je fichier que j'ai sélectioné et un .txt)
    4_ Une boite de dilogue s'ouvre précisant le chiffre 7 (la je ne comprend pas)
    5_ Puis une dernière boite de dilogue s'ouvre précisant une erreur à la ligne 14


    De plus j'aimerai aussi récupérer le nom du fichier avec l'extenstion mais aussi sans l'extension.


    Edite:
    Ah je vien de m'apercevoir pour l'extension que voue avez modifier la variable en cour de script, donc pour sa plus de problème.

  10. #10
    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
    tiens j'ai un peu modifier .. mais essai de comprendre le fonctionnement ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Set oUA = CreateObject("UserAccounts.CommonDialog") 
    x = oUA.ShowOpen 
    Wscript.echo oUA.FileName
    Dim st
    Dim stExt
    Dim stNom
    Dim stNomSansExt
    Dim i
     
    ' Utilise variable temporarie st car je n'ai pas le contrôle UserAccounts.commonDialog sur ma machine
    st = oUA.FileName
     
     
    'Prend les 3 derniers caractéres pour extension  : Right = Droite
    stExt = Right(st,3)
     
     
    'Recherche position du dernier \
    i = InStrRev (st,"\")
    ' Prends les carcatéres suivant le \
    stNom = Mid(st,i+1)
     
    'Pour enlever l'extension prend les caractére de gauche du nom trouvé précédament - les 4 derniers caractéres
    ' Len = Nombre de caractéres , Left = Gauche
    stNomSansExt = Left(stnom,Len(stnom)-4)
     
    Wscript.echo "Fichier : "& st & vbCrLf _ 
                & "Nom : " & stNom & vbCrLf _ 
                & "Nom Sans extension : " & stNomSansext & vbCrLf _ 
                & "Extension  : " & stExt

  11. #11
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Genial merci encore et beaucoup pour votre patience

    J'aimerai optimiser une partit du code pour gagner de la place dans mon vbs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim st 
    Dim stExt 
    Dim stNom 
    Dim stNomSansExt 
    Dim i
    N'y a t il pay moyen de faire un truc genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim st & Dim stExt & Dim stNom & Dim stNomSansExt & Dim i
    :

  12. #12
    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
    ben je vois pas en quoi tu va "gagner de la place.." ... tu peu même les supprimer ces lignes ... si tu n'en ve pas...ça marche aussi..;

  13. #13
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Ok, un garnd merci à vous

    Sujet résolu

  14. #14
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Une dernière question:
    Je voudrai faire la même chose mais cette foie ci avec une variable directement rensignée dans le VBS, mais je n'arrive pas à créer la variable, le code ci-dessous renvoi une erreur à la ligne 1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set VarTest = CreateObject("C:\WINDOWS\clock.avi") 
    st = VarTest 
    stExt = Right(st,3)
    i = InStrRev (st,"\") 
    stNom = Mid(st,i+1) 
    stNomSansExt = Left(stnom,Len(stnom)-4) 
    Wscript.echo "Fichier : "& st & vbCrLf _ 
                & "Nom : " & stNom & vbCrLf _ 
                & "Nom Sans extension : " & stNomSansext & vbCrLf _ 
                & "Extension  : " & stExt

  15. #15
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VarTest = "C:\WINDOWS\clock.avi"
    tout simplement..

  16. #16
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Merci encore

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

Discussions similaires

  1. tableau de structure(variable Type) traiter les éléments
    Par Patnel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/04/2014, 08h48
  2. Réponses: 1
    Dernier message: 16/06/2008, 22h26
  3. E-Mail dont les éléments sont fonction d'une variable
    Par j.p.mignot dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/01/2008, 18h52
  4. Déclarations de variables pour tous les éléments d'un workbook
    Par kebab666 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2007, 16h50
  5. Réponses: 2
    Dernier message: 11/08/2003, 09h43

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