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 :

Erreur d'automation avec VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Par défaut Erreur d'automation avec VBA
    Bonjour afin de factoriser mon code VBA j'ai veux faire une boucle for qui execute mes requêtes via des recordset. Mes requetes fonctionne je les ai toutes testé individuellement. Quand je fais :

    Set Rst = Cn.Execute(Texte_SQL_10) ça fonctionne
    Set Rst = Cn.Execute("Texte_SQL_" & I) ça fonctionne pas j'ai une erreur d'automation.

    Extrait code :

    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
    Texte_SQL_10 =  " SELECT ..."
    Texte_SQL_11 =  " SELECT ..."
    Texte_SQL_12 =  " SELECT ..."
    Texte_SQL_13 =  " SELECT ..."
     
    ...
     
    For I = 10 To 14
     
    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute("Texte_SQL_" & CStr(I))
     
    ...
    Next
     
    Rst.Close
    Set Rst = Nothing

  2. #2
    Membre chevronné Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Par défaut
    Quelques suggestions : en couleur

    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
    Texte_SQL_10 =  " SELECT ..."
    Texte_SQL_11 =  " SELECT ..."
    Texte_SQL_12 =  " SELECT ..."
    Texte_SQL_13 =  " SELECT ..."
     
    ...
     
    For I = 10 To 14
     
    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute("Texte_SQL_" & CStr(I))
     
    ...
    Next I
     
    Rst.Close
    Set Rst = Nothing
    => Tu as essayé de mettre "Texte_SQL_" & CStr(I) dans une variable puis de faire execute(de_ta_variable) ... au cas où ...

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    tu ne peux pas utiliser le nom des variables ainsi
    regarde ci-joint
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim x1 As String, x2 As String
    Dim T
    Dim i As Byte
     
    x1 = "select...1"
    x2 = "select...2"
    T = Array(x1, x2)
     
    For i = 0 To UBound(T)
       MsgBox T(i)
    Next i

  4. #4
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Par défaut
    Merci mercatog ton code fonctionne. J'ai un problème pour l'adapter, le nom de chaque requête porte le numéro de ligne ou il faut les inserer. La variable I me permettait donc de faire ma boucle, exécuter la bonne requete et l'inserer dans la bonne cellule. COmment puis-je adapter mon idée à ton code ?

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435

Discussions similaires

  1. [AC-2007] erreur automation avec WMP
    Par aida75 dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/04/2009, 14h30
  2. [VBA-E et Lotus]Erreur d'Automation lors de l'envoie du mail
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/08/2008, 13h05
  3. Réponses: 0
    Dernier message: 14/02/2008, 14h25
  4. gerer les erreurs de fichiers avec excel en automation
    Par avenger-france dans le forum Excel
    Réponses: 2
    Dernier message: 07/11/2007, 18h39
  5. [VBA-E]Erreur d'automation
    Par stargates dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2006, 17h13

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