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

VBA Access Discussion :

VBA Acces reconnait ExcelApplication, mais pas ses objets [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut VBA Acces reconnait ExcelApplication, mais pas ses objets
    Bonjour à toutes et à tous.

    Tout d'abord, voici mon code (je passe sur les déclarations de variables...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set objXL = GetObject(, "Excel.Application")
        NbColS = 0
        ColA1 = objXL.Selection.Range("A1").Column
        LigneA1 = objXL.Selection.Range("A1").Row
        AddrA1 = objXL.Selection.Range("A1").Address
        AddSel = objXL.Selection.Address
    en mode débogage, dans la fenêtre espion, je vois qu'il reconnait bien objXl comme étant l'application Excel (ouverte en arrière-plan avec un classeur ouvert et une plage sélectionnée)
    mais en face de Selection, par exemple (ou ActiveCell ou ActiveSheet), il m'indique "Nothing"

    Bizarre non,

    si vous aviez une idée de où cela provient que ce serait cool !!!

    par avance merci
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

  2. #2
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut Précision complémentaire
    Re Bonjour,

    J'ai essayé mon appli sur un autre ordinateur équipé d'office 2013, et là, tout fonctionne correctement !

    Sur 2010, je prends la précaution d'ajuster la référence Microsoft Excel 14.0 Object Library !

    Mystère...

    Merci pour votre attention !
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Sur 2010, je prends la précaution d'ajuster la référence Microsoft Excel 14.0 Object Library !
    il est là le problème, avec GetObject in n'y a pas besoin de référence vire la de ton projet!

  4. #4
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut Références...
    Merci d'essayer !

    Ce que je ne comprends pas dans cette réponse, c'est que cela fonctionne correctement sur 2013 (avec la référence Microsoft Excel 15.0...)

    et que si je supprime, il est des choses qui ne fonctionnent plus, comme par exemple cette déclaration

    Dim oSheetEP As Excel.Worksheet

    Je pense plutôt à un problème de référence dans Excel qui serait corrompue, mais j'aimerais en avoir la confirmation.

    Mais merci tout de même pour le temps passé
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

  5. #5
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim oSheetEP As Object
    Set oSheetEP =creatobject("Excel.Worksheet") 'ou getobject c'est selon

  6. #6
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut Merci
    Merci pour cette précision

    Bonne fin de semaine
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

  7. #7
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut Précision complémentaire SVP (xlUp)
    Petit détail, en reprenant comme indiqué, je me retrouve avec un soucis sur le xlUp dans l'instruction suivante :

    With oSheetEP
    For Each oCellEP In .Range(.Range("A1"), .Range("A65536").End(xlUp))

    Qui ne passe pas sans la référence à Excel... que mettre à la place ?

    Par avance merci pour cette précision
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 241
    Points : 19 368
    Points
    19 368
    Billets dans le blog
    61
    Par défaut
    Citation Envoyé par EBRAG Voir le message
    Petit détail, en reprenant comme indiqué, je me retrouve avec un soucis sur le xlUp dans l'instruction suivante :

    With oSheetEP
    For Each oCellEP In .Range(.Range("A1"), .Range("A65536").End(xlUp))

    Qui ne passe pas sans la référence à Excel... que mettre à la place ?

    Par avance merci pour cette précision
    En Late binding, il faut remplacer ces constantes par leur valeur.

    Essayez -4162 à la place.

    Sinon, faites une recherche sur internet avec ces mots clés.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut Merci beaucoup
    Merci pour tout et bon week-end
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

  10. #10
    Invité
    Invité(e)
    Par défaut
    Pour éviter de reprendre tout ton programme tu peux implémenter un enumrateur

    Code en tête dz module : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Enum ContsExcel
    xlUp = -4162
    Znd Enum
    et ainsi de suite pour toutes les constantes Excel utilisées par ton programme.

    Pour connaitre leurs valeur tu copy ta variable; tu ouvre Excel; tu vas dans vba raccourci clavier [Alt] + [F11]; tu ouvre la fenêtre d'exécution [Ctrl] + [g]; tu écris ou tu colle ?xlUp; et tu appuis sur la touche [Enter].

  11. #11
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut
    Merci à vous deux,

    Tout fonctionne parfaitement maintenant sans ces références !

    Bonne semaine,

    Joël
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

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

Discussions similaires

  1. Accès en local mais pas en public
    Par Skizorager dans le forum Apache
    Réponses: 4
    Dernier message: 20/01/2010, 23h18
  2. Réponses: 1
    Dernier message: 19/06/2009, 14h41
  3. Réponses: 3
    Dernier message: 09/09/2008, 00h55
  4. [C# 2.0] Form transparente mais pas ses sous-contrôles
    Par Mast3rMind dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/09/2006, 14h19
  5. [VBA-W] un doc word copié mais pas ses signets
    Par toome dans le forum VBA Word
    Réponses: 6
    Dernier message: 24/05/2006, 12h19

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