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 :

VBA-EXCEL erreur de caractère ' dans requete


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Points : 13
    Points
    13
    Par défaut VBA-EXCEL erreur de caractère ' dans requete
    Bonjour à tous

    Me voilà confronté à n nouveau problème.

    Je fais des requetes sql avec les querytables sur un fichier excel.

    Pour résumer je récupère une liste de raison sociale de clients, que je met dans une listbox.

    Puis je fais ensuite une requete utilisant la valeur de la listbox pour récupérer des infos sur le client choisit.

    Voici un test pour mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub essai()
    Dim req As String
    req = "SELECT `data$`.LIBART " & Chr(10) & _
          "FROM `C:\base_suivi_ca`.`data$` `data$` " & Chr(10) & _
          "WHERE (`data$`.RSCLTL ='" & fmenu.ListBox1.Value & "')"
    MsgBox req
    End Sub
    Tout fonctionne bien sauf quand j'ai la raison sociale qui contient le caractère ' (apostrophe).

    Je ne sais pas comment faire car ma requete ne marche pas quand j'ai un apostrophe dans la raison sociale et pourtant il faut bien que je trouve un moyen.

    Si vous avez une solution, je suis preneur car je sèche sur ce coup.
    Merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonsoir rafnt,

    En fait, il faut doubler le caractère ' (apostrophe) en utilisant la fonction REPLACE.

    Par conséquent, ta requête sera la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub essai()
    Dim req As String
    dim elmListe as string
    
    elmliste = replace(fmenu.ListBox1.Value, "'", "''")
    
    req = "SELECT `data$`.LIBART " & Chr(10) & _
          "FROM `C:\base_suivi_ca`.`data$` `data$` " & Chr(10) & _
          "WHERE (`data$`.RSCLTL ='" & elmListe & "')"
    MsgBox req
    End Sub

    Je pense avoir répondu à ton problème.
    Si cela ne fonctionne pas, tiens moi au courant.

    Merci

    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup cela marche !!!

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

Discussions similaires

  1. [VBA][Excel]Copier une feuille dans un nouveau classeur
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2020, 12h51
  2. [EXCEL/VBA] insertion d'un caractère dans une chaine
    Par rodrigue62 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/02/2008, 16h37
  3. VBA-Excel Erreur dans syntaxe requete en utilisant ADO
    Par rafnt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/10/2006, 14h23
  4. [VBA][EXCEL] Erreur génération d'un graphique
    Par PoZZyX dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/01/2006, 15h52
  5. [VBA excel]Inserer un graphique dans un formulaire
    Par girardeau dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/11/2005, 15h58

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