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 :

Référence manquante impossible à supprimer avec AC-2003 [AC-2007]


Sujet :

VBA Access

  1. #1
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut Référence manquante impossible à supprimer avec AC-2003
    Salut,

    J'ai une appli qui peut-être ouverte avec AC-2007 ou AC-2003...
    Donc j'ai un problème de référence Excel 12 et 11 !!!!

    Mais avec AC-2007 aucun problème, cela connecte toujours avec 12.
    Mais avec AC-2003 cela me bloque "Référence Manquante"

    J'ai donc trouvé des explications mais cela me fonctionne toujours pas :
    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
    Function essai()
        Dim Ref As Reference
        Dim i As Integer
     
        For Each Ref In Application.References
            If Ref.IsBroken = True Then
                Application.References.Remove Ref
                For i = 8 To 12
                    If Dir("C:\Program Files\Microsoft Office\Office" & i & "\EXCEL.EXE") <> "" Then
                        On Error Resume Next
                        Application.References.Remove Ref
                        References.AddFromFile ("C:\Program Files\Microsoft Office\Office" & i & "\EXCEL.EXE")
                    End If
                Next i
            End If
        Next Ref
    Avec AC-2003 cela me bloque à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Ref.IsBroken = True Then
    Car je ne récupère aucune valeur... que ce soit avec IsBroken, Name, FullPath...

    Avez-vous une idée comment je pourrai faire ?

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonjour,
    Dans le meme cas que toi j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim appExcel As Object
    Set appExcel = CreateObject("Excel.Application")
    Cela me pemet de ne pas référencer Excel (pareil pour Outlook)
    A+

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Cela ne fonctionne pas car je dois piloter Excel avec Access... Et cela me bloque sur certaine commande.

  4. #4
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonjour zoom61

    Cela dépend de ce que tu veux faire

    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
     
     Dim appExcel As Object   'Application Excel
        Dim wbExcel As Object 
    'envoie d'une requete vers Excel
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "LaRequete", DriveLinkedTable & "LaFeuille\LeFichier.xls", 0
     
    Set appExcel = CreateObject("Excel.Application")
        appExcel.Visible = True
        'Ouverture d'un fichier Excel
        Set wbExcel = appExcel.Workbooks.open(DriveLinkedTable & "LaFeuille\LeFichier.xls")
     
    appExcel.Run "LaSub"    'active une procedure
        wbExcel.Close
     
        appExcel.Quit
    DriveLinkedTable represente le chemin du fichier
    Avec ce code,j'envoie une requete vers Excel, ouvre le fichier,
    declenche une procédure qui en appelle 4 ou 5 , qui envoie la feuille en pj dans un message Outlook .Tout cela sans intervention ni reference.
    A+

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par zoom61 Voir le message
    Cela ne fonctionne pas car je dois piloter Excel avec Access... Et cela me bloque sur certaine commande.
    Je pense que ce qui bloque est les constantes xl...., dans ce cas il y a deux solutions :

    1 - Prendre le numéro de la constante (tu le trouves en bas dans l'éditeur d'objets - F2 - dans l'éditeur VB).

    2 - Déclarer des constantes xl... dans un module en leur affectant ce numéro.

    Je suis plus sur la deuxième solution qui donne plus de visibilité au code en voyant la constante littérale.

    Philippe

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Pour ma part cela me bloque sur la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     With ocell
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Je suis arrêté sur "HorizontalAlignment", et quand je vais ce que tu m'as dit je n'ai pas de constant xl... ??? Où je ne cherche pas au bon endroit.

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonsoir, Philippe

    Citation Envoyé par zoom61 Voir le message
    Je suis arrêté sur "HorizontalAlignment", et quand je fais ce que tu m'as dit je n'ai pas de constant xl... ??? Où je ne cherche pas au bon endroit.
    Il faut une référence valide à Excel pour pouvoir explorer le modèle objet d'Excel.
    Le mieux est d'ouvrir Excel, puis l'éditeur Visual Basic (depuis Excel).
    Ensuite, tu ouvres l'explorateur d'objets (F2).
    Tu sélectionnes la bibliothèque Excel, et juste en dessous (liste déroulante à gauche des jumelles) tu tapes xlCenter.
    Tu cliques sur les jumelles.
    Dans le résultat de la recherche, tu cliques sur le membre xlCenter.
    En bas de l'explorateur tu dois voir ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const xlCenter = -4108 (&HFFFFEFF4)
    Dans ton code tu rajoutes une déclaration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const xlCenter = &HFFFFEFF4
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const xlCenter As Long = -4108
    A+

  8. #8
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Ok cela fonctionne parfaitement pour ce que je veux faire. Merci.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Ingenieur
    Inscrit en
    Septembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Tuer la référence avant de quitter
    Il faut tuer la référence avec la version 2003, avant de quitter l'application.
    Ainsi, en ouvrant l'appli avec AC 2007, ne trouvant pas de référence, la création via "References.AddFromFile" sera possible.

    Une version plus ancienne d'access ne peut pas tuer la référence mise en place par une version plus récente. L'inverse est possible.

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

Discussions similaires

  1. impossible de supprimer avec hibernate + JSF
    Par summer_spring_moon dans le forum JSF
    Réponses: 11
    Dernier message: 03/06/2010, 19h52
  2. [OL-2003] Impossible supprimer message même avec MAJ+SUPPR
    Par patricecoudert dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 08/01/2010, 14h04
  3. impossible de supprimer avec removeMovieClip
    Par starr dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 10/11/2008, 22h20
  4. Répertoire impossible à supprimer, même avec tous les droits
    Par cecilebzh dans le forum Administration système
    Réponses: 5
    Dernier message: 15/04/2008, 14h10
  5. impossible d'imprimer avec access 2003
    Par patrickgaudu dans le forum Access
    Réponses: 12
    Dernier message: 04/09/2006, 15h22

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