A voir également:
- Lancer un modèle excel depuis access
- Liste déroulante excel - Guide
- Modèle organigramme word - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
22 réponses
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
15 mars 2011 à 17:06
15 mars 2011 à 17:06
Bonjour,
Au passage, l'extension du fichier: AttributionMandatAdlatus2.xltm
devrait-être xlsm ou xlsx ...!
Au passage, l'extension du fichier: AttributionMandatAdlatus2.xltm
devrait-être xlsm ou xlsx ...!
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
15 mars 2011 à 21:21
15 mars 2011 à 21:21
Bonjour,
Pouvez-vous mettre une copie de la procédure utilisée?
Pouvez-vous mettre une copie de la procédure utilisée?
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
Modifié par Le Pingou le 15/03/2011 à 22:53
Modifié par Le Pingou le 15/03/2011 à 22:53
Bonjour,
Dans l'ordre d'ouverture du classeur il devrait être
Salutations.
Le Pingou
Dans l'ordre d'ouverture du classeur il devrait être
.... Workbooks.Add (adrexcel)au lieu de
... Workbooks.Open(adrexcel)
Salutations.
Le Pingou
Bonjour,
J'utilise les macros (prédéfinies) d'access avec un choix d'actions possibles:
- je choisis "exécuter application" (qui n'est disponible que si on demande d'afficher toutes les actions)
- ensuite j'ai une ligne de commande que je remplis avec
"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" C:\Users\utilisateur\Desktop\AdlatusMandats\AttributionMandatAdlatus2.xltm
soit commande lancement excel, puis commande ouverture fichier.
Si j'utilise cette ouverture fichier dans le répertoire où il se trouve, j'obtiens un nouveau document avec nom du modèle initial +chiffre1 + xlsx losque je vais l'enregistrer (comme le ferait un modèle word avec document1, ou document2...)
avec le lancement via access j'obtiens l'ouverture du modèle, sous son nom (comme si j'ouvrais un modele.dot dans word).
comme ma commande dans access n'est pas issue de code VB, j'aimerais trouver la commande qui précise que je veux créer un nouveau doc et s'inclut dans la ligne donnée plus haut avec ouv. access + ouverture fichier
ou alors une ligne de code entière qui remplace complètement ma macro...
BUT: lancer un classeur excel qui utilise avec mise à jour les éléments que j'ai préparé dans access et figure dans une table créée et mise à jour à cet effet.
merci.
thg
J'utilise les macros (prédéfinies) d'access avec un choix d'actions possibles:
- je choisis "exécuter application" (qui n'est disponible que si on demande d'afficher toutes les actions)
- ensuite j'ai une ligne de commande que je remplis avec
"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" C:\Users\utilisateur\Desktop\AdlatusMandats\AttributionMandatAdlatus2.xltm
soit commande lancement excel, puis commande ouverture fichier.
Si j'utilise cette ouverture fichier dans le répertoire où il se trouve, j'obtiens un nouveau document avec nom du modèle initial +chiffre1 + xlsx losque je vais l'enregistrer (comme le ferait un modèle word avec document1, ou document2...)
avec le lancement via access j'obtiens l'ouverture du modèle, sous son nom (comme si j'ouvrais un modele.dot dans word).
comme ma commande dans access n'est pas issue de code VB, j'aimerais trouver la commande qui précise que je veux créer un nouveau doc et s'inclut dans la ligne donnée plus haut avec ouv. access + ouverture fichier
ou alors une ligne de code entière qui remplace complètement ma macro...
BUT: lancer un classeur excel qui utilise avec mise à jour les éléments que j'ai préparé dans access et figure dans une table créée et mise à jour à cet effet.
merci.
thg
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
Modifié par Le Pingou le 16/03/2011 à 10:04
Modifié par Le Pingou le 16/03/2011 à 10:04
Bonjour,
Merci pour l'information, donc pas de VBA.
Quelle version Access et Excel ?
Pouvez-vous faire une copie d'écran de la macro en mode création ?
Merci.
Salutations.
Le Pingou
Merci pour l'information, donc pas de VBA.
Quelle version Access et Excel ?
Pouvez-vous faire une copie d'écran de la macro en mode création ?
Merci.
Salutations.
Le Pingou
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
16 mars 2011 à 10:33
16 mars 2011 à 10:33
Bonjour,
Un exemple de procédure pour enregistrer des données Access vers Excel :
Salutations.
Le Pingou
Un exemple de procédure pour enregistrer des données Access vers Excel :
Sub EngVersExcel_ouvre_classeur() Dim cdb As DAO.Database Dim rstcha As DAO.Recordset Dim strSQL As String Dim xlapp As Excel.Application Dim chemin As String chemin = "C:\Users\utilisateur\Desktop\AdlatusMandats " repclasseur = chemin & "\AttributionMandatAdlatus2.xltm " Set xlapp = CreateObject("Excel.Application") ' partie lire data access Set cdb = CurrentDb strSQL = "SELECT * FROM T_InitialisationAnnees" & _ " WHERE T_InitialisationAnnees.Identification = " & Chr(34) & Form_F_InitConge.Matricule & Chr(34) Set rstcha = cdb.OpenRecordset(strSQL) Dim c As Byte 'partie Excel With xlapp .Workbooks.Add repclasseur .Visible = True .Range("A2:C15").Delete 'Tant que non fin du recordset While Not rstcha.EOF 'Passer au suivant .Range("A" & 2 + c) = rstcha.Fields(0) .Range("B" & 2 + c) = rstcha.Fields(1) .Range("C" & 2 + c) = rstcha.Fields(2) rstcha.MoveNext c = c + 1 Wend End With Set cdb = Nothing Set rstcha = Nothing Set exapp = Nothing End Sub--
Salutations.
Le Pingou
version: Office 2007.
Copie écran?
Comment je la joins?? Où je l'envoie?
Copie écran?
Comment je la joins?? Où je l'envoie?
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
16 mars 2011 à 15:05
16 mars 2011 à 15:05
Bonjour,
Via https://www.cjoint.com/ ou http://www.cijoint.fr/ et poster le lien.
Salutations.
Le Pingou
Via https://www.cjoint.com/ ou http://www.cijoint.fr/ et poster le lien.
Salutations.
Le Pingou
OK.
Voici la copie écran
http://www.cijoint.fr/cjlink.php?file=cj201103/cijy0acUca.doc
Merci
Cordialement
Voici la copie écran
http://www.cijoint.fr/cjlink.php?file=cj201103/cijy0acUca.doc
Merci
Cordialement
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
16 mars 2011 à 22:13
16 mars 2011 à 22:13
Bonjour,
Merci pour les informations.
Je vous propose de faire comme suit (je l'ai testé sans marche):
Placer la procédure dans un module et vous la déclencher depuis un bouton de commande (par événement sur clic) :
Salutations.
Le Pingou
Merci pour les informations.
Je vous propose de faire comme suit (je l'ai testé sans marche):
Placer la procédure dans un module et vous la déclencher depuis un bouton de commande (par événement sur clic) :
Sub OuvrirClasseurSelonModele() Dim Xl As Excel.Application Dim Classeur As Excel.Workbook Dim Feuille As Excel.Worksheet 'Ouvre un nouveau classeur selon modèle Set Xl = New Excel.Application Xl.Visible = True chemin = "C:\Users\utilisateur\Desktop\AdlatusMandats " repclasseur = chemin & "\AttributionMandatAdlatus2.xltm " Set Classeur = Xl.Workbooks.Add(repclasseur) Classeur.Worksheets("Feuil3").Activate Set Feuille = Classeur.Worksheets("Feuil3") End Sub--
Salutations.
Le Pingou
Merci pour les lignes de code.
Mais j'obtiens message d'erreur:
Erreur compilation
Type défini par utilisateur non défini.
copie écran
http://www.cijoint.fr/cjlink.php?file=cj201103/cij3ilhp0Q.jpg
Mais j'obtiens message d'erreur:
Erreur compilation
Type défini par utilisateur non défini.
copie écran
http://www.cijoint.fr/cjlink.php?file=cj201103/cij3ilhp0Q.jpg
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
17 mars 2011 à 14:20
17 mars 2011 à 14:20
Bonjour,
Il manque une référence, ouvrir l'éditeur VBA (touche Alt+F11), clic Outils puis clic Références.
Dans la liste, chercher la référence : Microsoft Excel 12.0 Object Library et cocher la case, clic OK pour terminer.
Salutations.
Le Pingou
Il manque une référence, ouvrir l'éditeur VBA (touche Alt+F11), clic Outils puis clic Références.
Dans la liste, chercher la référence : Microsoft Excel 12.0 Object Library et cocher la case, clic OK pour terminer.
Salutations.
Le Pingou
Merci. Franchi une étape mais problème avec la propriété Add
Désolé...
ecran1
http://www.cijoint.fr/cjlink.php?file=cj201103/cijCEheAQ2.jpg
ecran2
http://www.cijoint.fr/cjlink.php?file=cj201103/cijwNvmTDM.jpg
Salutations.
thg
Désolé...
ecran1
http://www.cijoint.fr/cjlink.php?file=cj201103/cijCEheAQ2.jpg
ecran2
http://www.cijoint.fr/cjlink.php?file=cj201103/cijwNvmTDM.jpg
Salutations.
thg
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
17 mars 2011 à 21:02
17 mars 2011 à 21:02
Bonjour,
Je suis vraiment désolé, j'ai laissé trainer un espace dans la ligne de code
Pendant qu'on y est faite de même à la ligne suivante entre [.xltm] et ["]
Je suis vraiment désolé, j'ai laissé trainer un espace dans la ligne de code
chemin = "C:\Users\utilisateur\Desktop\AdlatusMandats "juste à la fin, supprimer l'espace entre [S] et ["]
Pendant qu'on y est faite de même à la ligne suivante entre [.xltm] et ["]
Bonjour,
Désolé pour le manque de suivi immédiat...
Merveilleux, ça fonctionne.
2 détails :
- petit bog qui réclame à propos d'un indice (?)
copie EcranA
http://www.cijoint.fr/cjlink.php?file=cj201103/cijOeaVLIU.jpg
copie Ecran B
http://www.cijoint.fr/cjlink.php?file=cj201103/cijzGS0H0J.jpg
- 2e point: je n'obtiens plus immédiatement la mise à jour des données liées ; je dois effectuer la commande excel "données", "actualiser tout".
Peut-on - encore... - l'intégrer en fin de code ???
Avec mes remerciements pour votre patience.
thg
Désolé pour le manque de suivi immédiat...
Merveilleux, ça fonctionne.
2 détails :
- petit bog qui réclame à propos d'un indice (?)
copie EcranA
http://www.cijoint.fr/cjlink.php?file=cj201103/cijOeaVLIU.jpg
copie Ecran B
http://www.cijoint.fr/cjlink.php?file=cj201103/cijzGS0H0J.jpg
- 2e point: je n'obtiens plus immédiatement la mise à jour des données liées ; je dois effectuer la commande excel "données", "actualiser tout".
Peut-on - encore... - l'intégrer en fin de code ???
Avec mes remerciements pour votre patience.
thg
Trouvé l'erreur indice
Il s'agit du nom de la feuille3 qui a en fait été renommée "Saisie".
Et ça joue.
Merci beaucoup.
Toujours preneur d'une ligne pour:
données, actualiser tout
thg
Il s'agit du nom de la feuille3 qui a en fait été renommée "Saisie".
Et ça joue.
Merci beaucoup.
Toujours preneur d'une ligne pour:
données, actualiser tout
thg
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
Modifié par Le Pingou le 18/03/2011 à 14:30
Modifié par Le Pingou le 18/03/2011 à 14:30
Bonjour,
Merci pour l'information.
Ma proposition ne comporte que l'ouverture du classeur selon le modèle.
Vous avez certainement une instruction qui exporte les données d'Access vers Excel qu'il faut aussi exécuter.
De l'aide par là : https://cafeine.developpez.com/access/tutoriel/excel/
Salutations.
Le Pingou
Merci pour l'information.
Ma proposition ne comporte que l'ouverture du classeur selon le modèle.
Vous avez certainement une instruction qui exporte les données d'Access vers Excel qu'il faut aussi exécuter.
De l'aide par là : https://cafeine.developpez.com/access/tutoriel/excel/
Salutations.
Le Pingou
Bonsoir,
En fait ma liaison est résolue.
J'ai une requête création de table dans Access et mon fichier modèle dans excel conserve la table importée dans une feuille du classeur .
Il suffit de faire la mise à jour du classeur excel pour retrouver les données de la table recréée dans access avec les dernières données
D'où la seule opération à faire manuellement qui subsiste après lancement du fchier excel:
clic sur données, clic sur actualiser tout.
Et ... l'espoir d'ajouter une ligne de code qui effectue cette opération après l'ouverture de mon fichier-modèle excel.
De toute manière merci beaucoup pour votre aide.
thg
En fait ma liaison est résolue.
J'ai une requête création de table dans Access et mon fichier modèle dans excel conserve la table importée dans une feuille du classeur .
Il suffit de faire la mise à jour du classeur excel pour retrouver les données de la table recréée dans access avec les dernières données
D'où la seule opération à faire manuellement qui subsiste après lancement du fchier excel:
clic sur données, clic sur actualiser tout.
Et ... l'espoir d'ajouter une ligne de code qui effectue cette opération après l'ouverture de mon fichier-modèle excel.
De toute manière merci beaucoup pour votre aide.
thg
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
18 mars 2011 à 21:47
18 mars 2011 à 21:47
Bonjour,
Question concernant ceci : Et ... l'espoir d'ajouter une ligne de code qui effectue cette opération après l'ouverture de mon fichier-modèle Excel.
Est-ce que la liaison existe dans le fichier modèle... ? J'ai des doutes ?
Salutations.
Le Pingou
Question concernant ceci : Et ... l'espoir d'ajouter une ligne de code qui effectue cette opération après l'ouverture de mon fichier-modèle Excel.
Est-ce que la liaison existe dans le fichier modèle... ? J'ai des doutes ?
Salutations.
Le Pingou
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 240
18 mars 2011 à 18:46
18 mars 2011 à 18:46
Bonsoir,
Si tu te mets en enregistrement de macro après avoir sélectionné une cellule du TCD tu obtiens :
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
eric
Si tu te mets en enregistrement de macro après avoir sélectionné une cellule du TCD tu obtiens :
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
eric
Bonsoir,
Je n'ai pas un tableau croisé.
J'ai un tableau tout simple d'une dizaine de ligne et une vingtaine de colonnes (champs access).
Il est défini comme tableau dans une feuille excel et conserve la liaison avec la table access.
Mais il faut demander "actualiser tout" via "le menu données pour la mise à jour dans excel
Je cherche la ligne qui "refresh" le classeur excel (pas un tableau croisé dyn.)
thg
Je n'ai pas un tableau croisé.
J'ai un tableau tout simple d'une dizaine de ligne et une vingtaine de colonnes (champs access).
Il est défini comme tableau dans une feuille excel et conserve la liaison avec la table access.
Mais il faut demander "actualiser tout" via "le menu données pour la mise à jour dans excel
Je cherche la ligne qui "refresh" le classeur excel (pas un tableau croisé dyn.)
thg
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 240
18 mars 2011 à 19:48
18 mars 2011 à 19:48
Oupsss, j'ai lu un peu trop en diagonale, désolé.
Et en le faisant manuellement avec l'enregistreur de macro en route tu n'obtiens rien ?
eric
Et en le faisant manuellement avec l'enregistreur de macro en route tu n'obtiens rien ?
eric
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
18 mars 2011 à 21:59
18 mars 2011 à 21:59
Bonjour eriiic,
Juste comme information selon se que j'ai compris, sous Excel il suffit de créer une connexion vers Access et la table à l'aide de l'outil Données externes.
Pas besoins de macro.
Amicales salutations.
Le Pingou
Juste comme information selon se que j'ai compris, sous Excel il suffit de créer une connexion vers Access et la table à l'aide de l'outil Données externes.
Pas besoins de macro.
Amicales salutations.
Le Pingou
Le Pingou
Messages postés
12200
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 novembre 2024
1 450
18 mars 2011 à 21:38
18 mars 2011 à 21:38
Bonjour thg,
C'est vraiment étrange, à vous lire vous avez les données qui se trouvent dans une table et un classeur Excel qui à une liaison avec cette table. Donc vous devez uniquement actualiser le classeur pour avoir les données à jour. En principe pas besoin de procédure.
Au passage,salutations eriiic
C'est vraiment étrange, à vous lire vous avez les données qui se trouvent dans une table et un classeur Excel qui à une liaison avec cette table. Donc vous devez uniquement actualiser le classeur pour avoir les données à jour. En principe pas besoin de procédure.
Au passage,salutations eriiic
Bonjour,
Tout fonctionnait (fonctionne) sans souci.
Table access, fichier excel avec liaison, création d'un modèle sur ce fichier qui conserve ses liaisons et les met à jour à chaque ouverture.
Seul désir initial:
créer un événement (procédure ou macro) sur mise à jour dans access qui lance excel et effectue toutes les opérations sans intervenir.
De façon à ce que l'utilisateur crée d'office un nouveau fichier (donc ne détruise pas le modèle)
(Ca permet de créer un décompte/facturation excel assez complexe à partir des données clients et employés de la base access; et l'utilisateur travaille a priori dans access et non dans excel)
au départ de la discussion, j'imaginais trouver une ligne de commande particulière dans la macro access qui lance un modèle excel en tant que nouveau document (au lieu d'ouvrir le modèle);
au point actuel, j'ai une procédure qui le fait mais ne met pas à jour la liaison du classeur excel sans une intervention (minime) pour obtenir mon décompte/facturation complet immédiatement avec les données voulues.
thg
Tout fonctionnait (fonctionne) sans souci.
Table access, fichier excel avec liaison, création d'un modèle sur ce fichier qui conserve ses liaisons et les met à jour à chaque ouverture.
Seul désir initial:
créer un événement (procédure ou macro) sur mise à jour dans access qui lance excel et effectue toutes les opérations sans intervenir.
De façon à ce que l'utilisateur crée d'office un nouveau fichier (donc ne détruise pas le modèle)
(Ca permet de créer un décompte/facturation excel assez complexe à partir des données clients et employés de la base access; et l'utilisateur travaille a priori dans access et non dans excel)
au départ de la discussion, j'imaginais trouver une ligne de commande particulière dans la macro access qui lance un modèle excel en tant que nouveau document (au lieu d'ouvrir le modèle);
au point actuel, j'ai une procédure qui le fait mais ne met pas à jour la liaison du classeur excel sans une intervention (minime) pour obtenir mon décompte/facturation complet immédiatement avec les données voulues.
thg
Modifié par thg le 15/03/2011 à 18:06
Je veux partir d'un modèle qui crée un nouveau document. D'ailleurs j'obtiens ça si je lance le fichier modèle directement; mais pas à travers access.
thg