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 :

boucler sur une requete & affichage resultat


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut boucler sur une requete & affichage resultat
    bonjour
    je vous expose mon pb
    je veux boucler sur cette requete ok ca fonctionne seulement au niveau de l'affichage ca me decale tout vers la droite
    j aimerai que les resultats se suivent les uns au dessous des autres et sans repeter la ligne d'entete a savoir TOG TOL DE

    si vous avez une idee
    merci !


    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
     
    For i = 2 To 10
    pisin = Cells(i, 4)
     
           With ActiveSheet.QueryTables.Add(Connection:= _
            "ODBC;DSN=centre;NA=EXP,7791;DB=COD;UID=azer;pwd=xxl;", Destination:= _
            Range("F" & i))
            .CommandText = Array( _
            "SELECT COD.TOG, COD.TOL, COD.DE" & Chr(13) & "" & Chr(10) & "FROM IF.dbo.COD COD" & Chr(13) & "" & Chr(10) & "WHERE (COD.AGT=11) AND (COD.DE=" & pisin & ")" _
            )
            .Name = "Lancer la requête à partir de centre_1"
            .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
        Next i

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par ricoree78
    ca fonctionne seulement au niveau de l'affichage ca me decale tout vers la droite
    De quel "affichage" parles-tu ? Veux-tu dire que les résultat change de colonne pour chaque ligne ?

  3. #3
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    oui exactement et en plus j'ai l entete a savoir le nom de mes champs qui se repete aussi a chaque fois

  4. #4
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    j ai change de methode
    j ai rajoute ca a mon code
    je constitue ma chaine de caractere sur l'ensemble de ma colone d (la jusqu a 10)puis ma variable pisin est inserer dans la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For i = 2 To 10
    pisin = pisin & Range("d" & i).Value
    Next i
    MsgBox pisin
    seulement j ai un souci dans la construction de la requete elle ne marche pas elle ne me ramene aucune ligne alors qu'il y en a
    ma chaine de caractere pisin est construite de cette maniere
    pisin= "ABC","ZER"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     "SELECT COD.TOG, COD.TOL, COD.DE" & Chr(13) & "" & Chr(10) & "FROM IF.dbo.COD COD" & Chr(13) & "" & Chr(10) & "WHERE (COD.AGT=11) AND (COD.DE in ("" & pisin & ""))" _
            )

  5. #5
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    en fait ma 2eme hypothese n est pas bonne du tout car ma variable fisin a une longueur beaucoup trop grande >256
    la je coince

  6. #6
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    salut

    personne n a de solution ne serait ce que pour eviter le decalage des colonnes ?
    pour chaque ligne les resultats changent de colonne

    merci

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Comme ça paraît incompréhensible, une question bête : à quoi te servent Chr(13) et "" et Chr(10) ?

    (Dans VBA tu as vbcr, vblf et vbcrlf )

  8. #8
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    en fait j utilise dans excel donnee creer une requete et c'est lui qui me colle ce code
    je rexplique mon souci

    lorsque je boucle sur ma colonne 4(D) le resultat de la requete s'affiche en colonne F pour i=2
    ensuite pour i=3 le resultat s'affiche bien en colonne F mais il me decale le premier resultat de 3 colonnes vers la droite et ainsi de suite

    suis je plus clair ?

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Comme si ton code ajoutait trois colonnes à gauche... Là c'est clair...
    Evidemment, je tâtonne... piskejcomprends pas...
    Tu as une propriété " .PreserveColumnInfo = True"
    Que se passe-t-il si tu la passes à False...
    Sauvegarde bien tout avant de tester
    A+

  10. #10
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    ca ne change rien

  11. #11
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    est il possible dans la requete au lieu du =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AND (COD.DE=" & pisin & ")
    mettre un in ( colonne D ) ?

  12. #12
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    ok je crois avoir trouve

    en passant fielnames a false ca a l air de le faire

  13. #13
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    ok c est ca par contre j ai un souci de performance
    ca rame pas mal

    une ame genereuse aurait elle une idee pour ameliorer la performance ?
    merci

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

Discussions similaires

  1. Condition sur une requete
    Par faayy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/04/2005, 14h28
  2. transformation sur une requete SELECT
    Par juniorAl dans le forum Langage SQL
    Réponses: 8
    Dernier message: 08/04/2005, 18h12
  3. petite aide sur une requete INSERT INTO
    Par bonneti dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2005, 15h17
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 10h40
  5. []débogage sur une requête dasn visual basic
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 24/09/2003, 09h59

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