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

Macros et VBA Excel Discussion :

récupérer une valeur d'une cellule d'un classeur fermé [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut récupérer une valeur d'une cellule d'un classeur fermé
    Bonjour je travaille sur un rapport d'exploitation mensuel. j'aimerais pouvoir récupérer la valeur d'un cellule d'un classeur fermé afin de l'insérer ds mon rapport d'exploitation mensuel. j'ai qques pistes mais rien de vraiment très concluant!!!

    Merci d'avance de votre aide

    Baricot

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    je viens de lire le tuto et la faq mais j'avoue débuter en VBA. je suis seulement un ingénieur en alternance qui débute .

    J'ai pas mal de notions en C mais le VBA est très différent dc si vous pourriez m'éclairer un tt petit peu plus vous m'en verrez ravi .

    Merci
    Baricot

    Pour etre plus clair je dois prendre par exemple la valeur de la cellule E9 d'un fichier dont le chemin est E:\DATAS\3 - production\rapport exploitation\rapports journaliers de production\2009 , le fichier se nomme semaine 33.xls et la cellule est dans la feuille 6 de ce fichier; je dois envoyer la valeur de cette cellule dans la cellule E9 dans la feuille 1 d'un autre classeur nommé classeur 2.

    Par rapport à ceci pouvez vous me donnez quelques départs.

    Merci

    Baricot

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Le titre IV sur les requêtes du tutoriel que je t'ai renseigné t'explique la démarche en détails... C'est du VBA...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut apprenti VBA
    Je commence à comprendre petit à petit bientot je serais un as...
    Mais en attendant j'ai un message d'erreur compilation m'indiquant " Type défini par l'utilisateur non défini" et je voudrais savoir ce que ca signifie exactement ??? il me surligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sub extractionValeurCelluleClasseurFerme()
        Dim Source As ADODB.Connection
    Je sais qu'on part de loin mais merci d'avance...
    Baricot

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Je pense que tu as oublié de cocher la référence Microsoft ActiveX Data Objects 2.x Library

    Tu pourras cocher cette référence via Outils/Références du VBE (Choisis la 2.7 ou la 2.8)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    Ok mais un souci je n'ai pas accés à référence . il est bel et bien dans outil mais se trouve grisé dans mon cas donc impossible d'accés!! une autre solution??

    Baricot

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Tu dois stopper l'exécution du code pour avoir accès aux références (via le carré "magnétoscope" sur la barre d'outils")

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut :)
    ma première macro

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Tu n'as pas choisi la plus facile pour débuter... C'est SilkyRoad qu'il faut remercier pour son excellent tutoriel...


    Bonne continuation...

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut amélioration...
    voilà je reviens à la charge!!!!! maintenant que je peux rapatrier les valeurs des cellules d'un classeur fermé sur un rapport mensuel, j'aimerais pouvoir donner la possibilité à l'utilisateur de choisir la semaine qu'il voudrait récupérer dans son rapport!!

    Pour cela je pense qu'il faudrait mettre en place un bouton sur lequel l'utilisateur pourra cliquer et choisir sa semaine voulue, ainsi toutes les valeurs de la semaine choisie se rapatrions dans ce rapport mensuel!!!

    Peut tu me diriger vers quelque chose??

    merci encore

    Baricot

  12. #12
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Pour cela, tu peux gérer la clause WHERE de l'instruction SQL "Select ..."

    Je ne connais pas tes connaissances en SQL, mais je te conseille d'aller te balader sur le forum Requêtes et SQL, ou alors de détailler un peu la structure de la table source de tes données.

    Je complète en disant que, si la structure de ta source le permet (autrement dit, qu'elle est "normée"), tu peux aussi utiliser MSQuery pour récupérer des données du classeur fermé... Cela se fait sans macro, et tu peux utiliser différents critères lors de la récupération des données...

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    ce n'est pas possible de faire une boite de dialogue (ou autre) qui permet de changer seulement les 2 valeurs qui sont en orange dans ma macro?? car les cellules qui vont être recopiées seront les mêmes, seul le fichier change.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Feuille = "résumé_week_33$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
        'Chemin complet du classeur fermé
        Fichier = "E:\DATAS\3 - production\rapport exploitation\rapports journaliers de production\2009\semaine 33.xls"
    Baricot

    Edit: pardon je viens de votre dernier message trop tard

    oui en effet les fichiers sont concus sous le meme procédé ( semaine_21; semaine_22;...) et de même à l'intérieur tout est structuré de la meme facon!!

    Qu'est ce que MS squery comment a t on accés??
    merci

    Baricot

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    J'ai bel et bien trouvé et à peu près compris le principe mais je n'arrive pas à créer une base de donnée avec tous les fichiers des rapports hebdomadaires!!! pour ensuite les avoir tous dans le même tableau, je n'aurais plus qu'a me balader dans ce tableau en faisant apparaitre les données des rapports hebdomadaires que je veux

  15. #15
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    J'avais posté sur MSQuery avant de savoir que tu avais tes données disséminées dans différents onglets de différents classeurs.

    Dans la configuration qui est la tienne, MSQuery n'est pas une solution pertinente

    L'idée serait donc de rapatrier dans une seule feuille les données des différents tableaux, pour ensuite les traiter comme tu le souhaites, par exemple, les analyser à l'aide d'un tableau croisé dynamique

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    oui c ca exactement!! le première étape pour moi était donc de trouver comment récupérer une plage de cellule dans un tableau ca c'est fait!!! pour un début c'est pas mal

    A présent il faut que j'améliore ce tableau en offrant la possibilité à l'utilisateur (mon chef ) de récupérer la meme plage de cellule mais de fichiers différents qu'il aura choisi .

    Je ne connai pas encore assez bien excel ( mon supérieur c'est la meme) et ses macros pour avoir une idée de comment avancer.

    Un rayon de soleil serait le bienvenu

    merci
    Baricot

    ajouter tout ca a la base de ma macro doit etre possible non?

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    bonjour a tous je me permet de donner ma solution pas tres elegante mais fonctionnelle


    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
     
    Sub Macro1()
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Dim nom1, nom2, titre As Variant
     nom1 = ThisWorkbook.Name
    titre = "C:\Users\patrick\Desktop\base.xlsx" 'c'est ici que tu declare l'adresse
    'et le nom du classeur ou tu veux recuperer les données
     
        Workbooks.Open titre
     
      nom2 = ActiveWorkbook.Name
        Range("A2").Select
        Selection.Copy
        Windows(nom1).Activate
        Range("A2").Select
        ActiveSheet.Paste
    Windows(nom2).Activate
    Windows(nom2).Close
     
    End Sub
    re bonjour

    pour choisir ton fichier tu peux inserer un listbox alimentée par le contenu d'un dossier

    et au click de la listbox
    titre=listebox
    j'ai poster deux classeur repondant au nom de devisfacturier dans contribution j'ai utilisé ce procedé dans les deux

    voila

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut
    Je vais tenter ca alors avec la list box

    Par contre je suis vraiment débutant et dans ta premiere macro envoyé mon fichier ne s'ouvre pas je pense que je fais une erreur de syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    titre = "E:\DATAS\3 - production\rapport exploitation\rapports journaliers de production\2009\semaine_21.xls\résumé_week_21" 'c'est ici que tu declare l'adresse
    'et le nom du classeur ou tu veux recuperer les données
    résumé_week_21 étant le classeur du fichier semaine_21 xls ...

    merci de me faire avancé je crois que sans ce forum ...

    Baricot

  19. #19
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Dans la variable Titre, tu as mis le nom de l'onglet en trop, je crois

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Points : 10
    Points
    10
    Par défaut je deviens fou
    UNe idée pour permettre à l'utilisateur ouvrir n'importe quel onglets de n'importe quel fichier??

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2010] Récupérer la valeur d'une textbox dans une plage de cellules
    Par ph_anrys dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/03/2013, 08h51
  2. [WD16] Récupérer la valeur d'une colonne d'une table d'une ligne précise
    Par elghers_hocine dans le forum WinDev
    Réponses: 16
    Dernier message: 06/05/2011, 18h11
  3. [Toutes versions] Récupérer des valeurs dans une ligne dont une seule cellule est selectionnée
    Par Tommy57 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/02/2010, 20h37
  4. Récupérer la valeur d'une ligne dans une procédure stockée
    Par mobscene dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 07/12/2006, 19h29
  5. Réponses: 4
    Dernier message: 07/08/2006, 17h01

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