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 :

Empêcher la modification des formules après ajout de feuilles.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut Empêcher la modification des formules après ajout de feuilles.
    Bonjour,

    Voici mon réel problème :

    J'ai trois fichiers qui sont tous plus ou moins liés.

    Un fichier A un fichier B

    Lorsque j'ajoute un nouveau Mois dans mon Fichier A, je viens ajouter une colonne dans le fichier B avec, dans quelques cellules de B, des valeurs de A.
    Ca fonctionne bien, mais lorsque je passe à l'année suivante, toutes mes formules changent et passent à l'année suivante, donc j'ai une erreur #REF!

    Par exemple, je fais correspondre mes valeurs par cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub Test ()
    Dim CheminFichier As String
    'Par programmation j'ai déjà ouvert le classeur sur lequel j'apporte mes modifications et c'est lui le classeur actif
    CheminFichier = ActiveWorkbook.Path
    Cells(5, 1).FormulaR1C1 = "='" + CheminFichier + "\[NomDeMonFichier2009.xls]" + NomDeMaFeuil2009 + "'!R3C11"
    Ce code fonctionne bien, et dans le fichier B la formule de la cellule apparait de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ='[NomDeMonFichier2009.xls]NomDeMaFeuil2009'!$K$3
    Jusqu'ici pas de soucis, mon problème intervient lorsque je ferme mon fichier 2009 et que j'ajoute une colonne 1er Janvier 2010 dans mon fichier B.

    La commande d'ajout de la colonne est toujours la même sauf que cette fois, nous travaillons sur un autre fichier (le fichier 2010)

    A partir de là, toutes mes anciennes Formules changent de valeur pour celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ='[MonFichier2010.xls]#REF'!$K$3
    Voila, donc je suppose qu'excel essaye de faire un truc intelligent... Mais j'arrive pas à comprendre pourquoi il le fait et Surtout, comment arrêter cela !

    Merci d'avance.

  2. #2
    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
    peut-être à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(5, 1).FormulaR1C1 = "='" + CheminFichier + "\[NomDeMonFichier2009.xls]" + NomDeMaFeuil2009 + "'!R3C11"
    mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(5, 1).FormulaR1C1 = "='[" thisworkbook.fullname & "]" & NomDeMaFeuil2010 &"'!R3C11"

  3. #3
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    Et non...

    Toujours pas...

  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
    Insuffisant comme réponse; très insuffisant même
    NomDeMaFeuil2010 existe bien?
    un pas pas te donne quoi?

    .....

  5. #5
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    En faite je pense avoir mis le doigt sur le soucis avec ta methode...

    Lorsque j'utilise ta commande, je viens juste d'ajouter le nouvel Onglet, et donc NomDeMaFeuil n'apparait dans le classeur qu'à la fin de la macro...

    Pourtant la commande est bien lancée après l'ajout de l'onglet, mais si j'utilise ta commande j'ai une fenetre qui s'ouvre me demandant de choisir un fichier et un nom de feuille, et si je le fais, je m'apperçois que MaFeuille2010 n'est pas encore présente.

    Une solution?

    J'ai tenté d'inserer un "RefreshAll" mais mon classeur reste identique jusqu'à la fin de ma macro...

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/04/2014, 19h10
  2. [XL-2010] Gestion des formules après insertion
    Par Warluck dans le forum Excel
    Réponses: 1
    Dernier message: 03/12/2013, 08h05
  3. Valider des formules après changement de masse
    Par Denis_67 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/08/2012, 16h36
  4. Réponses: 5
    Dernier message: 26/02/2011, 02h27
  5. Modifications des données après filtre butterworth
    Par yoyo42300 dans le forum Signal
    Réponses: 17
    Dernier message: 21/01/2010, 11h08

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