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 de formule VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Par défaut Problème de formule VBA
    Bonjour à tous,

    Cela fait plusieurs jours que je penche sur un problème qui me dépasse un peu :

    J'aimerai comprendre pourquoi lorsque je veux affecter une formule à une cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Worksheets("Feuil1").Range("A1").FormulaLocal = "='E:\Pitch et Pacemaker\20140910\[essai avec liaison.xlsx]Tabelle 1'!A1"
    je retrouve cette formule dans la cellule :

    ='[essai avec liaison.xlsx]Tabelle 1'!A1

    En effet, le chemin affecté à "disparu".


    Merci pour votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Essais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     [\\E:\Pitch et Pacemaker\20140910\essai avec liaison.xlsx]Tabelle 1'!A1"
    Sinon utilise simplement le chemin que te donnes l'enregistreur de macro.

  3. #3
    Membre éclairé Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Par défaut
    Merci beaucoup pour ton aide had4789 mais ça ne fonctionne pas, en revanche je n'ai pas compris quand tu dis :

    Sinon utilise simplement le chemin que te donnes l'enregistreur de macro.
    Je te remercie pour ton aide !

  4. #4
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Dans excel, tu as un outil qui s'appel l'enregistreur de macro.

    Tu le trouveras à gauche dans ton onglet développeur sous l’appellation "enregistrer une macro".

    Pour l'utiliser rien de plus simple, tu choisie le nom que tu veux attribuer à ta macro puis tu exécutes ce que tu veux faire ( ici mettre ta formule dans la case A1. Après tu cliques sur terminer l'enregistrement. Enfin tu regardes dans tes modules et excel t'aura créer ta macro.

  5. #5
    Membre expérimenté
    Inscrit en
    Décembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 115
    Par défaut
    Bonjour
    Plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "='E:\Pitch et Pacemaker\20140910\[essai avec liaison.xlsx]Tabelle 1'!A1"
    Pour obtenir le code, c'est l'enregistreur de macro, comme dit had4789, mais avec une astuce.
    1) Lancer l'enregistreur de macro
    2) Le classeur contenant la valeur est ouvert, en cliquant sur la cellule, on obtient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '[essai avec liaison.xlsx]Tabelle 1'!A1"
    3) Fermer le classeur contenant la valeur, et alors, la formule devient "='E:\Pitch et Pacemaker\20140910\[essai avec liaison.xlsx]Tabelle 1'!A1" dans la cellule
    pour la récupérer dans le code, il faut la modifier et la remettre telle qu'elle était (Effacement et remise en place d'une lettre par exemple).
    4) Arrêter l'enregistreur de macro


    Et attention à l'ouverture du classeur contenant les valeurs, ne pas toucher aux liaisons, sinon c'est
    Cordialement

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Milyshyn76 Voir le message
    J'aimerai comprendre pourquoi lorsque je veux affecter une formule à une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Worksheets("Feuil1").Range("A1").FormulaLocal = "='E:\Pitch et Pacemaker\20140910\[essai avec liaison.xlsx]Tabelle 1'!A1"
    je retrouve cette formule dans la cellule :
    ='[essai avec liaison.xlsx]Tabelle 1'!A1
    En effet, le chemin affecté à "disparu".
    La réponse est simple.
    Lorsque dans une cellule tu fais référence à une autre cellule (exemple A1) de la même feuille, la formule est
    Lorsque tu fais référence à une cellule d'une autre feuille du même classeur, le code est
    Lorsque tu fais référence à une cellule d'un autre classeur, le code est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [NomClasseur.xlsx]NomFeuille!A1
    Si tu fermes le classeur qui contient la cellule à laquelle tu fais référence, le code va ajouter le chemin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Z:\monRepertoire\Sous\Repertoire\[NomClasseur.xlsx]NomFeuille!A1
    Donc le chemin apparaît si le classeur auquel on fait référence est fermé et la référence au chemin (Path) disparaît et n'affiche que [Classeur]Feuille!A1 si tu ouvres ton classeur.
    Les apostrophes sont ajoutées si une des références à un nom contenant au moins un espace.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-2010] VBA - Problème de formule.
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/11/2012, 01h00
  2. [XL-2007] Problème traduction formule excel en VBA
    Par laduche31 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/12/2011, 10h16
  3. problème insertion formule via vba
    Par cannard dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2011, 19h40
  4. problème formule vba excel
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/04/2008, 15h43
  5. Problème de formule dans un code VBA
    Par Toison dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/01/2008, 11h20

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