Connexion entre VBA Access et Excel

Résolu/Fermé
arthur5c - Modifié le 27 juin 2022 à 16:26
 arthur5c - 27 juin 2022 à 19:58
Bonjour à tous,

Je souhaite communiquer entre un formulaire Access et une page Excel. Par exemple, sur le formulaire Access, lorsqu'on appuie sur un bouton, le texte 'Exemple' s'écrit sur la case B2 dans Excel. J'ai essayé différentes méthodes et tutoriels mais sans réussites.

Auriez-vous un code ou une idée ?
Merci
A voir également:

4 réponses

yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 Ambassadeur 1 557
27 juin 2022 à 18:56
bonjour,
qu'as-tu essayé, quel résultat as-tu obtenu?
0
J'ai trouvé cela sur internet :

chemin = Application.CurrentProject.Path & "\Classeur1.xlsx"

Set fenetre = CreateObject("Excel.Application")
Set classeur = fenetre.Workbooks.Open(chemin)

recuperation = classeur.Sheets("Feuil1").Range("B1").Value
MsgBox (recuperation)
classeur.Sheets("Feuil1").Range("B2").Value = "Test envoie"
MsgBox (classeur.Sheets("Feuil1").Range("B2").Value)

fenetre.Application.DisplayAlerts = False
fenetre.Quit

Set fenetre = Nothing
Set classeur = Nothing

----------------------------------------------------------------------------------------------------------------------------------------------------------
Et pour le résultat, il arrive à récupérer la valeur du champs B1 dans la feuille 1 mais il n'arrive pas à écrire dans B2.
0
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 1 557
27 juin 2022 à 19:21
"il n'arrive pas": que se passe-t-il? message d'erreur?
qu'affiche le second msgbox?
0
Le second MsgBox affiche correctement "Test envoie" mais quand je vais sur Excel pour voir la case B2 rien n'a été écrit. Case vide
0
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 1 557
27 juin 2022 à 19:34
C'est normal, tu ne sauves pas le classeur Excel.
Suggestion:
Option Compare Database
Option Explicit

Private Sub ty()
Dim fenetre As Excel.Application, classeur As Excel.Workbook
Dim chemin As String, recuperation As String
chemin = Application.CurrentProject.Path & "\Classeur1.xlsx"

Set fenetre = New Excel.Application
Set classeur = fenetre.Workbooks.Open(chemin)

recuperation = classeur.Sheets("Feuil1").Range("B1").Value
MsgBox (recuperation)
classeur.Sheets("Feuil1").Range("B2").Value = "Test envoie"
MsgBox (classeur.Sheets("Feuil1").Range("B2").Value)
Call classeur.Close(True)
fenetre.Application.DisplayAlerts = False
fenetre.Quit

Set fenetre = Nothing
Set classeur = Nothing
End Sub
Il est nécessaire d'ajouter "Microsoft Excel nn Object Library" dans les références de l'application.
0
Je vous remercie de votre précieuse aide, il me manquait la ligne 16 et étant donné que je suis sur Mac avec un système d'exploitation Windows j'ai du effectué une autre manip.
0