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 :

problème d'éxcution d'un lien issu d'un copier\coller [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Par défaut problème d'éxcution d'un lien issu d'un copier\coller
    Bonjour à tous,

    Je réalise une petite applique sous excel affichant valeurs, graphiques, tout ca tout ca, en les récupérant les données nécessaires dans d'autres fichiers Excel.

    Plus doué pour le bricolage de formules que pour les macros, mon outil use très peu de ces dernières. Mais pour le peu que j'ai, je coince.

    En effet, je voudrais afficher dans une cellule la valeur trouver au lien indiqué :

    ex: ='C:\Documents and Settings\...\[Novembre 2008_C.xls]A'!$C$7

    Tapé en dure dans la cellule avec un clic gauche sur "Entrée", tout va bien mon résultat s'affiche dans la cellule.

    Mais voila ce lien n'est pas taper avec mes petits doigts mais résulte d'une formule semblable à celle-ci :

    [=CONCATENER("='";Formulaire!$C$23;"\";$G$8;"\[";$I$8;" ";$G$8;"_C.xls]A'!$C$";$L$8)]



    Formulaire!$C$23 : représente l'emplacement du fichier source des données voulu dans le disque dur ou réseau.

    $G$8;$I$8;$L$8 sont des variables qui détermineront les fichiers dans lesquels je veux aller chercher mes données.


    ==> tout se retrouve dans une cellule, disont tampon, F12 (ex dans ma macro ci après ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Range("F12").Select
        Selection.Copy
        Range("F13").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
    Au final j'obtiens en F13 un lien inactif qui reste sous cette forme :

    ='C:\Documents and Settings\...\2008\[Novembre 2008_C.xls]A'!$C$7

    au lieu de voir la valeur correspondant au lien.

    Pour l'activé je suis obliger de rentrer dans la cellule comme si je voulais la modifier (double clic) et de la valider par entrée et là le résultat apparait.

    J'en viens maintenant à ma question.
    Quelqu'un serait me dire comment je dois finir ma macro pour que le lien s'exécute ?

    J'ai déjà pas mal parcouru le forum et je n'ai pas trouver.

    Pour info l'option calcul automatique est déjà activé et la cellule est en Standard ^^

    Merci d'avance à ceux qui auront eu le courrage de lire mon post.

    Dumpeel

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour a tous,

    il y a quelque chose que je ne comprend pas ton collage spécial chez moi ne recopie pas la formule.

    Veux tu faire ça ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("F12").AutoFill Range("F12:F13")

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Par défaut
    Non je ne cherche pas simplement à copier la valeur de F12.
    Je cherche à afficher la valeur se trouvant dans une cellule d'un autre fichier excel dont le lien est créé à partir de la formule en F12 (composé de variable modifiant le lien).

    Mon Appli demandera à son utilisateur 4 données au travers une feuille excel qui me servira de "formulaire" (4 cellules avec liste déroulantes).

    1 - l'adressse à laquelle l'utilisateur aura préalablement enregistré ses fichiers sources
    2 - L'année
    3 - Le mois
    4 - La région

    Pourquoi ces 4 valeurs ?
    - Parce l'outils ne me sera pas uniquement destiné et donc l'adresse d'enregistrement des fichiers "source" ne sera jamais la même.
    - Les fameux fichiers sources sont en fait des extractions en .xls d'un logiciel. Ces derniers devront être renommés comme suit :

    [Mois Année_C.xls]

    - Mois est Année correspondant à l'information chronologique de leur contenu. Il y en aura 12 fichier par année et ce sur plusieurs année.

    Leur contenu est sensé alimenté mon outil, pour exploitation.

    DAns mon appli, au travers du la feuille "formulaire" l'utilisateur appelle les valeurs qu'il veut exploiter.
    Des valeurs correspondants aux variables "Mois", "Année" et "Région" renseignées dans le formulaire sont retranscrites dans des cellules d'une autre feuille dans laquelle je porte toute les formules.

    Dans mon exemple, on retrouve dans ma feuille "formule" :
    - la cellule $G$8 (Année),
    - La cellule $i$8 (Mois),
    - "un chiffre" de 4 à 9 pour indiquer la ligne dans le tableau source qui correspondra à la région souhaitée (la colonne où se trouve ma valeur souhaitée étant constante)

    Ces dernières viennent alimenter une formule :

    [=CONCATENER("='";Formulaire!$C$23;"\";$G$8;"\[";$I$8;" ";$G$8;"_C.xls]A'!$C$";$L$8)]

    Cas pratique :

    Mes extractions (fichiers sources) sont enregistrés ici : C:\Documents and Settings\...\

    Je veux exploiter les valeurs correspondant à
    Année = 2008
    Mois = Novembre
    Région = Sud Ouest = 7

    La formule affiche comme résultat en F12:

    ='C:\Documents and Settings\...\[Novembre 2008_C.xls]A'!$C$7

    Ce qui m'intéresse à ce niveau c'est non pas le lien mais la valeur numérique qui se trouve au bout. Dans mon exemple "27"

    et c'est la qu'intervient ma macro.

    Je copie et la colle uniquement sa valeur en F13 (='C:\Documents and Settings\...\[Novembre 2008_C.xls]A'!$C$7) pensant que ca reviendrait au même résultat que si je l'écrivais moi même dans une cellule et que je validais.

    Or que néni, la valeur reste tel quelle au lieu de m'afficher "27".

    Pour voir le "27" je suis obliger de rentrer dans la cellule comme si je voulais la modifier (double clic) et de la valider en cliquant sur la virgule vert "Entrée" et là le résultat apparait.
    La chose ne se fait pas automatiquement. Or c'est ce que je cherche.

    J'espère avoir été plus clair ... ou pas ^^

    Dumpeel.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("F13").FormulaLocal = Range("F12").Value

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Par défaut
    Citation Envoyé par mercatog Voir le message
    Bonsoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("F13").FormulaLocal = Range("F12").Value
    C'est parfait ca fonctionne. Merci beaucoup Mercatog et aussi à toi aalex_38.

    Et meilleurs voeux à tous.

    Dumpeel

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

Discussions similaires

  1. Problème d'éxécution: double free or corruption
    Par ciol_tebroc dans le forum C++
    Réponses: 3
    Dernier message: 17/05/2006, 19h44
  2. [VBA-E]Problème d'éxécution de macros à l'ouverture d'éxcel
    Par mulot03 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/04/2006, 18h02
  3. [VBA EXCEL] Problème d'éxécution avec graphiques
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/11/2005, 09h55
  4. [VC++ .NET] Problème avec l'éditeur de liens
    Par hamster dans le forum MFC
    Réponses: 11
    Dernier message: 09/05/2005, 11h08
  5. [MFC] problème d'éxécution
    Par ben_iap dans le forum MFC
    Réponses: 2
    Dernier message: 15/03/2004, 10h31

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