Variable requete BO via Excel
Résolu
sasafca
Messages postés
567
Statut
Membre
-
sasafca Messages postés 567 Statut Membre -
sasafca Messages postés 567 Statut Membre -
Bonjour à tous,
Voila mon problème, j'ai créé une macro en VBA permettant de lancer BO, m'y connecter, et lancer un fichier requête (.rep) et ensuite l'extraire sur Excel.
Le problème c'est que ma requête possède une variable qu'y dois changer suivant le mois (en gros j'ai un "WHERE champ1 = mois courant").
Étant donné que je dois automatiser cette tâche je souhaiterai savoir comment modifier la variable de ma requête via VBA.
J'ai trouvé ceci:
docBO.Variables("Année?").Value = "2005"
Mais ça ne fonctionne pas... Peut être que je ne rentre pas le bon nom de la variable (ici en exemple "Année?").
Le champ sur lequel j'applique le filtre "Dans liste" sur BO s'appelle "OCCP: Période arrêté informations" et je sélectionne tous les mois de l'année courante.
En SQL (je n'y ai malheureusement pas accès...):
DACC.DACC_OCCP_AGND.PERD_ARRT_INFO IN ('201504', '201505', '201502', '201503', '201501')
Merci de votre aide !!
Voila mon problème, j'ai créé une macro en VBA permettant de lancer BO, m'y connecter, et lancer un fichier requête (.rep) et ensuite l'extraire sur Excel.
Le problème c'est que ma requête possède une variable qu'y dois changer suivant le mois (en gros j'ai un "WHERE champ1 = mois courant").
Étant donné que je dois automatiser cette tâche je souhaiterai savoir comment modifier la variable de ma requête via VBA.
J'ai trouvé ceci:
docBO.Variables("Année?").Value = "2005"
Mais ça ne fonctionne pas... Peut être que je ne rentre pas le bon nom de la variable (ici en exemple "Année?").
Le champ sur lequel j'applique le filtre "Dans liste" sur BO s'appelle "OCCP: Période arrêté informations" et je sélectionne tous les mois de l'année courante.
En SQL (je n'y ai malheureusement pas accès...):
DACC.DACC_OCCP_AGND.PERD_ARRT_INFO IN ('201504', '201505', '201502', '201503', '201501')
Merci de votre aide !!
A voir également:
- Variable requete BO via Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel trier par ordre croissant chiffre - Guide
2 réponses
Bonjour,
Pour ce qui est de BO, je connais pas ca.
Mais je connais VBA.
J'imagine que tu lances BO en lui refillant un paramêtre qui est une chaine de texte
Exemple : Blah blah = "blah blah blah"
En vba, tu peux glisser des variables dans la chaine de texte avec le symbole concatèner.
Dim Annee as string 'déclaration de ta variable
Annee = "2014"
Blah blah = "blah blah WHERE champ1 =" & annee & "blah blah"
Donc, en VBA, tu assigne ta variable annee (tu peux coder la valeur dans la macro, aller la chercher dans la feuille excel, ou faire un inputbox et la demander dynamiquement durant l'exécution de la macro)
Une fois ta variable annee assigné, tu la glisse dans ta chaine texte que tu passes probablement a BO.
On ne veut pas comparer des pommes avec des oranges.
Tu dois vérifier le format de champ1, et faire en sorte que ta variable année soit dans le même format.
Pour ce qui est de BO, je connais pas ca.
Mais je connais VBA.
J'imagine que tu lances BO en lui refillant un paramêtre qui est une chaine de texte
Exemple : Blah blah = "blah blah blah"
En vba, tu peux glisser des variables dans la chaine de texte avec le symbole concatèner.
Dim Annee as string 'déclaration de ta variable
Annee = "2014"
Blah blah = "blah blah WHERE champ1 =" & annee & "blah blah"
Donc, en VBA, tu assigne ta variable annee (tu peux coder la valeur dans la macro, aller la chercher dans la feuille excel, ou faire un inputbox et la demander dynamiquement durant l'exécution de la macro)
Une fois ta variable annee assigné, tu la glisse dans ta chaine texte que tu passes probablement a BO.
On ne veut pas comparer des pommes avec des oranges.
Tu dois vérifier le format de champ1, et faire en sorte que ta variable année soit dans le même format.