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 :

Remplir une zone de liste Excel par une requête Access


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Points : 34
    Points
    34
    Par défaut Remplir une zone de liste Excel par une requête Access
    Bonjour à tous,

    Voici mon problème, j'ai trouvé cette exemple de code de Cafeïne ici or quand je l'utilise Excel me retourne une erreur que je ne comprend pas, j'ai pourtant bien suivi toutes les instructions données à savoir l'ajout de la reférence DAO.
    Voic la partie du code qui me pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    sh.Select  ' Ici pas de pb
     
    Do While Not (rec.EOF)
         Selection.AddItem rec.Fields(0).Value  ' Ici ça bloque  
         rec.MoveNext
    Loop
    Excel me dit : "Propriété ou méthode non gérée par cette objet"

    Après avoir cherché longuement et tourné le problème dans tout les sens j'ai pas trouvé ! Le truc étant que je voudrais faire une fonction générique et que le lorsque je fais du spécifique en remplacant directement par le nom du controle, comme ce ceci, ça passe !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sh.Select
    cboPays.Clear
     
    Do While Not (rec.EOF)
          cboPays.AddItem rec.Fields(0).Value
          rec.MoveNext
    Loop
    Pouvez-vous m'éclarer sur ce sujet SVP ?
    En vous remerciant d'avance.
    Cordialement

    PS: la variable "sh" n'étant pas déclarer savez-vous ce qu'elle ce que c'est exactement ?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Points : 34
    Points
    34
    Par défaut Ou renommer la drop down ?
    J'oubliais quand je créer une liste via le menu validation de données il me créer bien une liste déroulante mais je ne sais pas ou dois je aller pour pourvoir la renommer ? Si vous avez des idées... Je suis preneur. Merci

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour



    Excel me dit : "Propriété ou méthode non gérée par cette objet"
    1. Tu utilises bien un objet de la barre d'outils formulaires ?
    2. Tu as d'autres type d'objets dans la feuille ?




    PS: la variable "sh" n'étant pas déclarer savez-vous ce qu'elle ce que c'est exactement ?
    Sh représente chaque forme (objet) contenue dans la feuille spécifiée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Boucle sur les formes de la feuille active
    For Each sh In ActiveWorkbook.Sheets(curshname).Shapes


    bonne soirée
    michel

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Points : 34
    Points
    34
    Par défaut Oups, je savais pas
    Merci SilkyRoad pour votre réponse qui ma mit sur la voie.

    Je reprends : je voulais remplir une zone de liste modifiable Excel avec une requête portant sur une table Access... Or je suis habitué à travailler avec Access et je n'avais pas vu qu'en fait il y avait en Excel plusieurs type de "ComboBox" !

    J'en ai compté 3 (Dites moi si je me trompe ! ):

    - La plus commune, celle se trouvant directement dans la feuille Excel (Généré via les menu Insertion et Données)
    - Une autre se trouvant dans la barre d'outils formulaire "Excel", qu'on place à la mano
    - Et le dernière dans la barre d'outils contrôles, réservé au formulaire Excel.

    Mon erreur venait donc de là, j'avais pris celle de la boites d'outils contrôles.
    Et ce composant ne supporte pas la méthode "AddItem".

    J'ai refait le test avec celle se trouvant dans la barre d'outils formulaire. Et la cela fonctionne parfaitement.

    Me reste encore à trouvé comment les renommées.
    A votre bon cœur messieurs dame...

    PS : A noter que la première ComboBox n'aime pas non plus cette méthode.

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

Discussions similaires

  1. Remplir une zone de liste Excel par une requête Access
    Par cafeine dans le forum Contribuez
    Réponses: 0
    Dernier message: 29/12/2011, 10h57
  2. Réponses: 18
    Dernier message: 24/01/2010, 07h40
  3. Réponses: 1
    Dernier message: 09/10/2007, 14h17
  4. Remplir une zone de liste Excel avec une requête Access (problème)
    Par Tontorise dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 30/05/2007, 14h26
  5. [Source][VBA-E] Remplir une zone de liste Excel par une requête Access
    Par cafeine dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/01/2007, 13h26

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