Bonjours,
Je voudrai savoir si il est possible de récuperer la valeur d'une cellule excel dans une variable locale (comme vous devez vous en douté) en VBA pour ACCESS. Et si oui comment faire?
merci
Bonjours,
Je voudrai savoir si il est possible de récuperer la valeur d'une cellule excel dans une variable locale (comme vous devez vous en douté) en VBA pour ACCESS. Et si oui comment faire?
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 mavarlocale = Workbooks("nomclasseur.xls").Sheets("nomfeuille").Range("a1").Value
merci pour ta réponse mais que dois je mettre à la place de "workbook" car une m'affiche une erreur ("sub ou function non définie") même si je met "Worksheets"?
voici la mienne :
lieu est une variable correspondant au chelin d'accés et eu nom du classeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part z = Workbook(lieu & ".xls").Sheets("Parametres contrôle poids").Range("y19").Value
peux-tu m'en dire un peu plus stp
Sous Access, pour pouvoir utiliser les fonctions, propriétés, collections et autres objets d'Excel, il faut activer la référence à Excel.
Bonjours,
merci à toi pour cette réponse. Mais je ne sais pas comment déclarer une nouvelle référence. Dans l'aide il me dise d'ouvrir la boite de dialogue "référence" mais je ne la trouve pas. tu peux m'en dire plus stp.
merci d'avance
Salut,
Un peu de recherche dans la FAQ :
http://access.developpez.com/faq/?page=ref#Reference
Puis dans les tutos :
http://cafeine.developpez.com/access/tutoriel/excel/
(voir automation)
j'ai fait comme il est stipulé dans le premier lien mais je crois qu'il faut que je déclare ma fonction non??
Ma variable z recoit (ou normalement devrait recevoir) la valeur de la cellule Y19 mais rien y fait, Il m'affiche une erreur de non déclaration de la fonction pour "Worksbooks".
Code : Sélectionner tout - Visualiser dans une fenêtre à part z = Worksbooks(lieu).Sheets("Parametres contrôle poids").Range("Y19:Y19").Value
C'est là que le 2ème lien intervient
http://cafeine.developpez.com/access/tutoriel/excel/#LV
Il faut que tu crées une instance Excel puis un classeur.
j'ai réussis à aller un peu plus loin.
j'ai déclarer la feuille
le code ce lance mais dès que j'arrive à la ligne d'importation il me met, "variable objet ou variable de blic with non definie"
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim worksbooks As Excel.Workbook
Que faire?
Par rapport au tutoriel que tu viens de m'indiquer, je ne veut pas importer dans excel ma base de données mais importer la valeur d'une cellule excel dans une variable de calcul de mon code vba access. Aussi mon chemin d'acces aux feuilles excel est variable, j'utilise une variable me permettant de recuperer le chemin d'acces pour pouvoir recuperer à chaque tour de boucle la valeur de la cellule et toujour dans ce meme tour de boucle, importer des lignes d'une feuille au niveau de la valeur de la cellule (si la cellule est egale à 10, importe à partir de la ligne 10).
J'ai bien compris. Mais pour accéder au classeur c'est le même principeEnvoyé par k_pone
Tu n'as pas besoin de déclarer :
Il faut que tu aies :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim worksbooks As Excel.Workbook
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 Excel.Application Dim classeur As Excel.Workbook Set appExcel = CreateObject("Excel.Application") Set classeur = Excel.Workbooks.Open("chemin + nom du classeur") mavariable = appExcel.Sheets("Parametres contrôle poids").Range("Y19").Value classeur.close appExcel.Quit set classeur = Nothing set appExcel = Nothing
voici mon code:
voila tu ma deja bien aidé mais il me stipule maintenant "l'indice n'appatient pas à la selection " pour la ligne z=appExcel......
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 'recupère le nom et le chemin des classeurs à importer Dim fs, f, f1, fc, s, i Dim lieu Dim z As Integer Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.getfolder("Z:\test normalisé\aide\dde") 'saisir le dossier comportant tous les classeurs excel des clients Set fc = f.Files For Each f1 In fc s = f1.Name MsgBox s MsgBox f lieu = f & "\" & s MsgBox lieu 'chemin d'acces au classeur 'importation grace à la concaténation du chemin et du nom du classeur Dim appExcel As Excel.Application Dim classeur As Excel.Workbook Set appExcel = CreateObject("Excel.Application") Set classeur = Excel.Workbooks.Open(lieu) z = appExcel.Sheets("Parametres contrôle poids").Range("Y19").Value MsgBox z classeur.Close appExcel.Quit Set classeur = Nothing Set appExcel = Nothing
c'est bon j'ai trouvé, c'etait une erreur de feuille.
Je te remerci pour ton aide . à la prochaine pour une nouvelle aide en ligne
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager