Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Variable [ Langages dérivés / VBScript ] (appraille)

mercredi 9 avril 2008 à 12:29:05 | Variable

appraille

Bonjour, j'éspére ne pas me tromper d'endroit pour poser ma question.
Le but pour moi est de pouvoir envoyer une variable d'excel à vb
J'ai un petit probléme de syntaxe, je vous joins le code se sera plus parlant:

Private Sub CommandButton1_Click()
Dim lenom As Variant
lenom = Sheets("PAGE").Range("f1")

 With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=MEDIANE;UID=sa;;APP=Microsoft Office 2003;WSID=TSE5;DATABASE=MEDIANE" _
        , Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT BIDE.IDNOM " & Chr(13) & "" & Chr(10) & "FROM MEDIANE.dbo.BIDE BIDE" & Chr(13) & "" & Chr(10) & "WHERE (BIDE.IDNOM=" & lenom & ")" _
        )
        .Name = "Lancer la requête à partir de MEDIANE"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

Le probléme vient de la syntaxe dans la déclaration de la variable ou dans la requéte elle méme, j'ai essayer pas mal de solutions, mais là je suis limite à m'arracher les cheveux!!

PS: j'ai essayer avec une donnée en dure à la place de la variable et ça marche
Merci à tous ceux qui pourront m'apporter leur aide.

Gil


mercredi 9 avril 2008 à 12:42:34 | Re : Variable

jrivet

Membre Club
salut

essaie lenom.TEXT ou .Value.
NOTE: c'est du VBA pas du VBS


@+: Ju£i€n
Pensez: Réponse acceptée

mercredi 9 avril 2008 à 13:45:05 | Re : Variable

Molenn

Moi, ce que je ne comprends pas, c'est pourquoi mettre dans le bout de code qui ressemble à une requête SQL, des Chr(13) et Chr(10)
"SELECT BIDE.IDNOM " & Chr(13) & "" & Chr(10) &
Faire un retour chariot et un retour à la ligne dans une requête SQL, ça ne peut que planter non ?

Molenn

mercredi 9 avril 2008 à 14:02:58 | Re : Variable

appraille

Bonjour Molenn, merci de t'intéresser à mon probléme , pour les chr(13), je t'explique, je n'ai pas taper le code mais j'ai enregistrer une macro pour ouvrir ma base et lancer une requéte, avec une donnée en dure et ensuite j'ai récupérer le code dans vbs et là ça marche, le probléme vient au moment ou je veux transformer ma donnée en dure en variable.
Pour Jrivet, j'ai essayer le .value et le .txt, mais sans succés
Merci à tous

Gil

mercredi 9 avril 2008 à 14:19:24 | Re : Variable

Molenn

Une chose à préciser encore : tu as récupéré le code dans le VBS, à mon avis, c'est une erreur, tu l'as récupéré dans le VBE et tu fais du VBA là
Je serais vraiment étonné de voir un code VBS (VBScript) commençant par :
Private Sub CommandButton1_Click()

Ceci étant, je me demande si le type de ta variable ne pose pas pb ...
Ton critère est :
"WHERE (BIDE.IDNOM=" & lenom & ")"
Vu le nom de ton champ (IDNOM), je pense que ce que tu cherches est un chiffre entier.
Déclares ta variable comme suit :
Dim lenom As Integer
lenom = Sheets("PAGE").Range("f1").value
Regarde avec le débuggeur ou colle un msgbox lenom pour être sûr que ta variable contient bien le chiffre à contrôler.

Mets ta syntaxe m'étonne quand même pour du VBA, tu es sûr que si tu mets 
 "SELECT BIDE.IDNOM FROM MEDIANE.dbo.BIDE BIDE WHERE BIDE.IDNOM=" & lenom
ça ne fonctionne pas ?

Molenn


mercredi 9 avril 2008 à 15:47:01 | Re : Variable

appraille

Mollen, je t'assure le commandbutton vient bien de vb script, c'est un simple bouton sur une page excel, j'ai essayer ta syntaxe......., mais ça marche pas ...désolé
Merci

Gil

mercredi 9 avril 2008 à 17:01:13 | Re : Variable

Molenn

Tu m'étonnes beaucoup quand même, mais pas grave, c'est pas le propos ^^

J'ai utilisé mon enregistreur de macro dans Excel pour récupérer la même chose que toi, en me connectant sur une base ACCESS. Voici ce que ça me donne :

With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=MS Access Database;DBQ=C:\BAM.mdb;DefaultDir=C:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
        , Destination:=Range("F9"))
        .CommandText = Array( _
        "SELECT RésultatsIndicateur.NomCR, RésultatsIndicateur.TotalitéIndispo" & Chr(13) & "" & Chr(10) & "FROM `C:\BAM`.RésultatsIndicateur RésultatsIndicateur" _
        )
        .Name = "Lancer la requête à partir de MS Access Database_1"

Blabla, je saute la fin du code inutile à la compréhension

1ère chose, effectivement, ça colle des retours charriot O_o ... Mais bon passons (la logique MSoft sans doute)

Par rapport à ta requête, je ne vois qu'une différence : j'ai le chemin de ma base de données dans le FROM ... mais est-ce que c'est à cause de la connexion à ACESS ? Aucune idée.
"SELECT BIDE.IDNOM " & Chr(13) & "" & Chr(10) & "FROM MEDIANE.dbo.BIDE BIDE" & Chr(13) & "" & Chr(10) & "WHERE (BIDE.IDNOM=" & lenom & ")" _
Normal au fait que tu aies BIDE marqué 2 fois ?

Sinon, j'avoue que je sèche.
Tu as bien vérifié le contenu de ta variable lenom ? tu as bien ce que tu attendais ?
La seule autre chose que je vois, c'est le type de ton champ IDNOM. Il est bien de type Numérique ou NuméroAuto ? S'il est de type texte, ta requête ne peut pas fonctionner comme elle est, mais ça ne fonctionnerait pas en dur ... à moins que lorsque tu rentres la valeur en dur, tu l'encadres avec une quote ? Ce qui expliquerait ton erreur au passage.

En résumé, j'ai épuisé mes quelques connaissances là-dessus

Molenn

mercredi 9 avril 2008 à 22:27:20 | Re : Variable

appraille

Bonjour Molenn, merci encore pour ton aide, dans la fin de ton message tu me dis que si c'est du texte ça ne peut pas marcher, car effectivement c'est bien du texte et non du numérique et ma valeur en dure , pour que ça fonctionne je l'avais bien entouré de quotes, alors si ça t'éclaire pour une solution je suis evidemment preneur.
Pour le Bide noter deux fois, c'est msquery qui fait cette syntaxe, moi aussi je n'ai pas compris, mais il m'a toujours fait ça.
Gil

jeudi 10 avril 2008 à 09:58:44 | Re : Variable

Molenn

Ah ben voilà alors ^^ ... Ton champ est de type texte, donc, il faut que tu encadres ta variable par des quotes. Il y a plusieurs syntaxes qui te permettent de le faire, personnellement, j'utilise la suivante, pas forcément la mieux :

"SELECT BIDE.IDNOM FROM MEDIANE.dbo.BIDE BIDE WHERE BIDE.IDNOM=" & """" & lenom & """"

Voilà voilà.

Molenn

jeudi 10 avril 2008 à 18:47:40 | Re : Variable

appraille

Bonjour et merci à ceux qui m'on aider, particuliérement à toi Molenn, j'essairai le code demain, car aujourd'hui je suis en repos, je vous informe pour la suite
Bye
Gil


1 2

Cette discussion est classé dans : variable, true, false, mediane, bide


Répondre à ce message

Sujets en rapport avec ce message

variable True et False [ par jeanclaudelesaux ] Bonjour,je veux utiliser une variable pour rechercher un repertoire avec My.Computer.Filesystem.DirectoryExistj'explique ......dans une textbox j'indi Prendre les informations d'un fichier texte vers un tableau [ par Myron ] Coucou tout le monde !! :)Je vous explique mon probleme, J'ai un fichier texte avec ce format la :machin1 machin2 machin3truc1 truc2 truc3Et sur VB j' save and load [ par morrison29 ] bonjour, j'ai un soft qui me permet d afficher dans une picturebobx un graphe qu il faut que j enregistre... tt s enregistre sauf le graphe a l in evaluation du contenu d'une variable [ par vercomax ] Bonjour,comment évaluer le contenu d'une variable ?variable="textbox1.visible=true"if variable=true thenMerci de vos réponses Mise a jour d'une base de données [ par mick1819 ] BonjourJ'ai fait un menu de recherche pour parcourir la base de donnée de manière simplifiée... j'aimerai modifier les données, mais je n'arrive pas a Erreur 91 [ par captaine93 ] Bonjour !J ai un message d'erreur sur le code suivant...erreur 91 variable non définie...excel pointe sur la dernière boucle "ActiveWorbook.SaveAs.... fonction de requête MySQL dans Excel [ par ricorico94 ] Bonjour,Je cherche à faire en VBA pour Excel une fonction qui fasse une reherche dans une base de données MySQL et retourne une unique valeur (un peu Ecrire plus simplement !! [ par Etienne ] Comment peut-on écrire plus simplement ce code :Private Sub Command1 click()C1.Visible = FalseC2.Visible = FalseC3.Visible = FalseC4.Visible = FalseC5 Problème avec la fonction "Chr" sous Excel [ par fitzjames ] Bonjour,J'ai un petit souci sur ma requête excel qui fait appel à un requête access :Ma requête excel fonctionnait avant que je renomme la base access SELECTIONNER UNE PLAGE PAR RAPPORT A UNE VARIABLE [ par vicma ] Dans une macro Visual Basic, je souhaites sélectionner une plage par rapport à une variable.exemple :sub macrofor i=1to100range("A&i :D&i").select-->


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.