Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2011, 15h49   #1
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
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 :
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 :
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
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 18h32   #2
Membre régulier
 
Homme Thierry Pallier
Regisseur
Inscription : octobre 2006
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Thierry Pallier
Âge : 51
Localisation : France, Seine Maritime (Haute Normandie)

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

Informations forums :
Inscription : octobre 2006
Messages : 47
Points : 94
Points : 94
Bonjour,
Dans le meme cas que toi j'utilise:
Code :
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+
Thierry_PALLIER est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/01/2011, 08h01   #3
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Cela ne fonctionne pas car je dois piloter Excel avec Access... Et cela me bloque sur certaine commande.
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 21h04   #4
Membre régulier
 
Homme Thierry Pallier
Regisseur
Inscription : octobre 2006
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Thierry Pallier
Âge : 51
Localisation : France, Seine Maritime (Haute Normandie)

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

Informations forums :
Inscription : octobre 2006
Messages : 47
Points : 94
Points : 94
Bonjour zoom61

Cela dépend de ce que tu veux faire

Code :
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+
Thierry_PALLIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 06h36   #5
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 605
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 605
Points : 30 956
Points : 30 956
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
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
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 08h57   #6
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Salut,

Pour ma part cela me bloque sur la commande :
Code :
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.
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 19h07   #7
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
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 : 3 939
Points : 6 278
Points : 6 278
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 :
Const xlCenter = -4108 (&HFFFFEFF4)
Dans ton code tu rajoutes une déclaration
Code :
Const xlCenter = &HFFFFEFF4
ou
Code :
Const xlCenter As Long = -4108
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 08h43   #8
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Ok cela fonctionne parfaitement pour ce que je veux faire. Merci.
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h45.


 
 
 
 
Partenaires

Hébergement Web