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

Excel Discussion :

comment ecrire une variable dans une formule ?


Sujet :

Excel

  1. #1
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut comment ecrire une variable dans une formule ?
    Bonjour,

    J'aimerai creer une formule, qui me permetterai de récupérer un élément dans un classeur Excel dont le nom change jours. som nom est constitué de "rapport"+date
    ex :
    rapport01102007.xls
    rapport02102007.xls
    ...

    pour l'instant voici ce que j'ai pu écrire dans ma formule :
    =RECHERCHEV(C24;'c:\test\historique\[rapport01102007.xls]Sheet1'!$A:$D;4;0))

    comment faire pour que chaque jour la formule change (plus précisement le nom du classeur dans lequel la recherche est faite) automatiquement en fontion de la date du jour,
    si ca peut aider dans ma cellule "r2" j'ai la date au format jj/mm/aaaa qui se met a jour tous les jours.

    Merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 140
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Regarde du côté de la fonction INDIRECT

    Contrainte : elle nécessite que le fichier source soit ouvert.

    Pour pallier ce problème, tu peux utiliser une macro complémentaire (morefunc) téléchargeable sur le site de Laurent Longre : le site : http://xcell05.free.fr/

    Essaye et dis nous

    @+

  3. #3
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut
    Je ne souhaite pas suivre ton idée, car il faudrait que j'installe sur 5 postes le morefunc
    en tout cas merci

    Sinon, je suis sur une nouvelle idée,
    Dans une cellulle isolée (w12) de ma feuille, j'y ai rajouté cette formule :
    ="rapport"&E5&".xls" ce qui me donne rapport03102007.xls

    Je me suis débrouillé pour mettre en E5 la date du jour au format jjmmaaaa (sans les /)

    maintenant je bloque sur ma formule :
    =RECHERCHEV(C24;'c:\test\historique\[w12]Sheet1'!$A:$D;4;0))

    la formule considere w12 comme le nom d'un fichier et non pas comme ce que renvoie la formule, je pense peut etre a une histoire de "" ou de '' mais apres une dizaine d'essai je n'ai pas réussi.

    Donc savez vous comment comment w12 pourrais etre reconnu, comme le résultat de ma formule ?

    Merci bien

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    c'est hélas impossible, regarde cette discussion :
    http://www.developpez.net/forums/sho...d.php?t=420763

  5. #5
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781

  6. #6
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut
    merci Cafeine, mais c'est quoi DAO ?

  7. #7
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    DAO (Data Access Objects) est une bibliothèque regroupant un ensemble d'objets permettant d'accéder à une base de données. L'utilisation de ces objets permet à la fois de travailler la structure de la base mais aussi de manipuler ses données.

    plus d'infos sur la Bible DAO :
    http://warin.developpez.com/access/dao/

  8. #8
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut
    apres reflexion, je ne pense pas utiliser ta solution car si je dois utiliser du code VBA, je prefere transcrire ma formule avec la fonction formulaR1C1.

    Je n'abandonne pas, si je trouve une soluce je vous la poste

    ciao

  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Si tu réécris dynamiquement les formules, ça va marcher ... sinon je doute que tu puisses trouver une autre solution ...
    Citation Envoyé par Djohn Voir le message
    apres reflexion, je ne pense pas utiliser ta solution car si je dois utiliser du code VBA, je prefere transcrire ma formule avec la fonction formulaR1C1.

    Je n'abandonne pas, si je trouve une soluce je vous la poste

    ciao

  10. #10
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Bonjour,
    essayes cette formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(C24;INDIRECT("'c:\test\historique\"&w12&"Sheet1'!$A:$D");4;0))
    mais comme a dit tibo59:
    Contrainte : elle nécessite que le fichier source soit ouvert.

  11. #11
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Oups j'ai oublié les accolades

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(C24;INDIRECT("'c:\test\historique\["&w12&"]Sheet1'!$A:$D");4;0))
    Mille excuses

  12. #12
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut
    a piori si je ne veux pas faire de VBa, INDIRECT est la seule solution

    je vais faire avec

    Merci Lapanic pour m'avoir réécris ma formule

    Autrement je me demande si avec les Liaisons sous excel ca pourrais marcher

  13. #13
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    INDIRECT ok mais si les fichiers sont ouvert ...
    A priori, ça ne marchera pas avec les liaisons sans l'aide de VBA ...
    Citation Envoyé par Djohn Voir le message
    a piori si je ne veux pas faire de VBa, INDIRECT est la seule solution

    je vais faire avec

    Merci Lapanic pour m'avoir réécris ma formule

    Autrement je me demande si avec les Liaisons sous excel ca pourrais marcher

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  2. Comment insérer les valeurs d'une requete dans une variable tableau
    Par uptoditime dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/12/2007, 12h03
  3. Ecrire du texte depuis une variable dans une vue
    Par Vlad_Oliv dans le forum MFC
    Réponses: 1
    Dernier message: 09/01/2007, 17h28
  4. Comment récupérer le contenu d'une URL dans une variable ?
    Par Fildz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/08/2006, 09h26
  5. Réponses: 7
    Dernier message: 02/05/2006, 16h28

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