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 :

MAJ automatique de champs résultats de fonction VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut MAJ automatique de champs résultats de fonction VBA
    Bonjour,

    J'ai créé une fonction dans VBA calculant automatiquement, en fonction de paramètres fournis, un résultat en fonction du contenu d'une autre feuille.
    Or si je change ce contenu, le résultat de ma fonction ne se met pas à jour automatiquement.
    Je ne trouve pas le paramètre me permettant de recalculer dynamiquement mes valeurs.

    Pour info, ce même type de fonctions a déjà été utilisé en 2007, et le recalcul se faisait à chaque modification d'une seule cellule. J'ai plus de 150 cellules à mettre à jour dynamiquement, sachant que la fonction calculate ne donne rien et que le F9 non plus...


    Merci d'avance pour vos retours et votre aide

  2. #2
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Bonjour,

    Il te faut rajouter ceci dans ta fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function xxxxxx()
    Application.Volatile
     
    'Ton code ci dessous

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Bonjour cerede2000,

    J'ai rajouté ce bout de code dans ma fonction, et la mise à jour de ma feuille a été faite.
    Merci...

    Cependant, j'ai ensuite rechargé ma feuille de calculs et la mise à jour ne s'est pas effectuée, cela n'a fonctionné qu'une fois.

    Me manquerait-il une option?
    Afin que tout se recharge, je suis obligée de sauvegarder, quitter excel, lancer un excel puis mon fichier et activer le contenu de ma feuille.
    Ce fichier devant servir très régulièrement, cette manipulation de contournement ne me convient pas....

    Merci!

  4. #4
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Vérifie que ton classeur est bien en calcul automatique
    Onglet Formule -> Option de calcul -> Automoatique

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Heu, oui, je suis bien en automatique, d'où mon appel à l'aide, je ne sais plus comment gérer.
    Petite précision, une fois ta ligne rajoutée dans mon code, en fermant et réouvrant mon fichier, le calcul qui se faisait avant en activant le contenu ne se fait plus du tout....

    J'ai donc commenté ta ligne pour le moment.

  6. #6
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Je viens de faire le test avec une fonction toute bidon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function add(value)
    Application.Volatile
     
    add = value + 2
    End Function
    Et ça fonctionne très bien.

    Poste ton classeur qu'on puisse voir.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Mon fichier contient des données confidentielles. Si je te donne un exemple représentatif de ce que je cherche à faire et mon code, ça irait ?

  8. #8
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Vire les données et mets autre chose à la place, ce ne sont pas les données qui posent soucis ici

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Je t'envoie tout demain matin, chez moi je n'ai qu'excel 2007, et le problème ne se pose pas....

    Merci encore

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Bonjour à tous,


    J'ai fini par trouver la bonne formule permettant de recalculer l'ensemble de ma feuillle !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub rafraichissement()
    '
    ' rafraichissement Macro
    '
     
    '
        Application.CalculateFullRebuild
    End Sub
    J'ai donc créé un bouton qui me permet de rafraîchir ma feuille dès que j'en ai besoin.

    Merci à vous.

  11. #11
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Je ne suis pas sur que ce soit la meilleur méthode que de relancer un tel recalcul avec régénération des références et tout ce qui va avec pour juste rafraîchir une UDF...

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Il me fallait pourtant une telle marco qui me permette de recalculer plus de 150 cellules qui sont le résultat d'une fonction.
    C'était la méthode que j'utilisais en excel 2007, sauf que c'était automatique et qu'à chaque modification de cellule, le calcul se refaisait.
    Ici, je pourrai le lancer à la demande.

  13. #13
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Comme indiqué plus haut, Application.Volatile permet de recalculer automatiquement l'UDF lorsque les cellules changent.

    Mais sans fichier de ta part pour voir ce qui peut bloquer dans ton cas.
    Après si tu est satisfait comme ça tant mieux

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    J'avoue être ennuyée pour le fichier, car mon entreprise ne me permet pas de le partager (dans les propriétés, il y a son nom, par exemple)...
    La partie volatile n'a jamais fonctionné, selon mes attentes.
    Donc oui, la solution que j'iai fini par mettre en place répond complètement à mes besoins.

    Merci encore !!

  15. #15
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Tu créé un nouveau classeur Excel vierge, tu met tes macros dedans, tu met des données bidon mais identiques.....

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

Discussions similaires

  1. [AC-2007] Champ résultat en fonction de champs renseignés
    Par massi15 dans le forum VBA Access
    Réponses: 11
    Dernier message: 23/05/2010, 17h07
  2. Réponses: 6
    Dernier message: 22/10/2009, 15h42
  3. Réponses: 4
    Dernier message: 07/10/2009, 17h43
  4. Réponses: 3
    Dernier message: 08/04/2008, 14h40
  5. Réponses: 0
    Dernier message: 08/04/2008, 11h16

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