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

Macros et VBA Excel Discussion :

Syntaxe concaténation d'informations à corriger [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 180
    Points : 72
    Points
    72
    Par défaut Syntaxe concaténation d'informations à corriger
    Bonjour,

    Je travail sur une macro en PPT.

    J'avais ce code qui fonctionne très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CommandButton1_Click()
         Dim ID As Variant
         Dim Fichier As String
         Fichier = """EXCEL.EXE"" ""\\filer4\controles_production$\Formulaires\TEST.xlsm"""
         ID = Shell(Fichier, vbMaximizedFocus)
     End Sub
    Je veux le remplacer par une concaténation d'information :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         Dim ID As Variant
         Dim Fichier As String
         Fichier = """EXCEL.EXE"" & "" & Slide23.TextBox1.Value & """
         ID = Shell(Fichier, vbMaximizedFocus)
    Cependant, cette syntaxe ne fonctionne pas .... pourtant je suis bien sur le bon slide PPT et je Pointe bien sur le bon TextBox... (il me semble que c'est une erreur de synthaxe...)

    Pouvez-vous m'aider SVP car j'ai tout essayé...

    Merci d'avance.

    Cordialement.

    GK

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Une astuce quand tu as doute sur la valeur d'une variable, c'est de l'afficher.
    dans ton cas, quelle valeur prend Fichier ?
    Tu verras qu'il y a plein de Guillemets qui traînent

    A essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         Dim ID As Variant
         Dim Fichier As String
         Fichier = """EXCEL.EXE " & Slide23.TextBox1.Value & """"
         ID = Shell(Fichier, vbMaximizedFocus)
    Jérôme

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 180
    Points : 72
    Points
    72
    Par défaut
    Je viens de voir le problème, en réalité, dans Slide23.Textbox1.Text, je retrouve bien cette valeur :\\filer4\controles_production$\Formulaires\TEST ACTUEL.xlsm

    Le souci c'est que le système ne reconnait pas mon lien et il ne voit que \\filer4\controles_production$\Formulaires\TEST.xlsx puis j'ai une erreur sur ACTUEL.xlsm ...

    Le textbox1 ne prend pas en compte l'espace entre TEST et ACTUEL de mon fichier \\filer4\controles_production$\Formulaires\TEST ACTUEL.xlsm

    SInon la bonne synthaxe c'est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
         Dim ID As Variant
         Dim Fichier As String
    '     Fichier = """EXCEL.EXE"" ""\\filer4\controles_production$\Formulaires\TEST ACTUEL.xlsm"""
         Fichier = "EXCEL.EXE" & " " & Slide23.TextBox1.Text
         ID = Shell(Fichier, vbMaximizedFocus)
     End Sub

    Une idée pour corriger ce problème d'espace ?

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Il faut mettre des crochets pour que l'espace ne soit pas pris comme caractère de sortie de nom de fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Fichier = """EXCEL.EXE"" ""\\filer4\controles_production$\Formulaires\[TEST ACTUEL.xlsm]"""
    Jérôme

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 180
    Points : 72
    Points
    72
    Par défaut
    J'aimerai plutôt faire des modifications ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton1_Click()
         Dim ID As Variant
         Dim Fichier As String
         Fichier = "EXCEL.EXE" & " " & "[" & Slide23.TextBox1.Text & "]"
         OU
         Fichier = "EXCEL.EXE" & " " & [Slide23.TextBox1.Text]
         ID = Shell(Fichier, vbMaximizedFocus)
         End Sub
    J'ai essayé les deux ... ça ne fonctionne pas.... J'ai même essayé de modifier la synthaxe dans le TextBox1 Avec celle-ci : \\filer4\controles_production$\Formulaires\[TEST ACTUEL.xlsm]....

    Ca m'indique une erreur sur \\filer4\controles_production$\Formulaires\[TEST.xlsx
    puis une autre juste après sur \\filer4\controles_production$\Formulaires\ACTUEL.xlsm]

    En Effet, c'est ma TextBox 1 qui contient l'arborecence où se trouve le fichier ....

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 180
    Points : 72
    Points
    72
    Par défaut
    J'ai regardé les discussions sur votre Forum à ce Sujet , ICI : http://www.developpez.net/forums/d13...-nom-variable/

    Et j'ai trouvé la bonne synthaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
         Dim ID As Variant
         Dim Fichier As String
         MaCommande = "EXCEL.EXE"
         MonFichier = Slide23.TextBox1.Value
         ID = Shell(Chr(34) & MaCommande & Chr(34) & " " & Chr(34) & MonFichier & Chr(34), vbMaximizedFocus)
         End Sub
    C'était laborieux, mais j'y suis arrivé !!!

    Merci Developpez !!

    GK

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour, bonjour !

    Ce n'est pourtant pas compliqué vu les nombreux exemples de ce forum !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
        ID = Shell("""EXCEL.EXE"" """ & Slide23.TextBox1.Value & """", vbMaximizedFocus)
    End Sub
    ______________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé …

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/06/2007, 02h23
  2. Concaténation textkey avec information Dataset
    Par jules_11 dans le forum BIRT
    Réponses: 13
    Dernier message: 20/04/2007, 19h35
  3. Problème de syntaxe pour concaténer des variables
    Par renaud26 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/09/2006, 09h44
  4. Réponses: 5
    Dernier message: 25/07/2006, 21h11
  5. [Tableaux] problème syntaxe concaténation variable
    Par mussara dans le forum Langage
    Réponses: 3
    Dernier message: 01/03/2006, 11h24

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