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 :

[VBA] variable locale <-- cellule excel


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut [VBA] variable locale <-- cellule excel
    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

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    mavarlocale = 
    Workbooks("nomclasseur.xls").Sheets("nomfeuille").Range("a1").Value

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    z = Workbook(lieu & ".xls").Sheets("Parametres contrôle poids").Range("y19").Value
    lieu est une variable correspondant au chelin d'accés et eu nom du classeur.

    peux-tu m'en dire un peu plus stp

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Sous Access, pour pouvoir utiliser les fonctions, propriétés, collections et autres objets d'Excel, il faut activer la référence à Excel.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    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

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    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)


  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    j'ai fait comme il est stipulé dans le premier lien mais je crois qu'il faut que je déclare ma fonction non??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     z = Worksbooks(lieu).Sheets("Parametres contrôle poids").Range("Y19:Y19").Value
    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".

  8. #8
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    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.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    j'ai réussis à aller un peu plus loin.
    j'ai déclarer la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim worksbooks As Excel.Workbook
    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"

    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).

  10. #10
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par k_pone
    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.
    J'ai bien compris. Mais pour accéder au classeur c'est le même principe

    Tu n'as pas besoin de déclarer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim worksbooks As Excel.Workbook
    Il faut que tu aies :
    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

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    voici mon code:

    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
    voila tu ma deja bien aidé mais il me stipule maintenant "l'indice n'appatient pas à la selection " pour la ligne z=appExcel......

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    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

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

Discussions similaires

  1. Coordoonées variable d'une cellule excel
    Par AndreaL dans le forum Excel
    Réponses: 8
    Dernier message: 23/03/2015, 14h19
  2. [Toutes versions] Sous VBA appeler une cellule excel avec une variable
    Par karatetiger76 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/04/2011, 19h04
  3. [VBA-E] Positionnement des cellules excel
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/10/2006, 20h38
  4. [VBA-E]Largeur des cellules Excel adaptée au contenu de la cellule
    Par pauletta22 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 24/05/2006, 08h33
  5. [VBA-A]Problème de cellule Excel vide
    Par soad029 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 05/05/2006, 14h12

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