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 :

"Fake" Cell VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Par défaut "Fake" Cell VBA
    Bonjour,

    Je dispose d'une macro qui doit être appelé depuis une cellule. Cette macro écrit dans la cellule en question. Cependant, le contenu écrit dans la cellule ne m'intéresse pas et cette étape d'écriture consomme beaucoup de temps lorsqu'elle est exécutée en boucle.
    Seul l'opération réalisée par cette macro m'intéresse, donc est-il possible d'appeler cette macro depuis une "fausse" cellule en VBA? C'est à dire un objet de type cellule mais qui n'appartient pas à la feuille?
    Je ne peux pas modifier la macro en question car elle fait partie d'un addin (xll).
    Merci.

  2. #2
    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 183
    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 183
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour moi, ce n'est pas très clair et plein de contradictions.
    Tu voudrais utiliser une "fausse" cellule qui ne ferait pas partie d'une feuille ?
    A ma connaissance, il n'existe pas de cellule qui ne fasse pas partie d'une feuille.
    Tu dis également que la macro écrit obligatoirement dans cette cellule mais que c'est trop long lorsque c'est exécuté dans une boucle ?
    Penses-tu un instant qu'en écrivant sur une autre cellule fusse-t-elle "fausse", la procédure serait plus rapide ?
    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

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Par défaut
    J'appelle cette macro en boucle, et l'écriture dans les cellules de mon worksheet est long. Seule, le fait que la macro soit exécutée m'intéresse. Le contenu retournée dans la cellule ne m'intéresse pas. Ainsi,
    je souhaite trouver un moyen d'exécuter cette macro en ne perdant pas le temps d'écriture.
    Avez vous une idée?

    Merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ce que tu demandes n'est pas clair.
    Un bout de code serait peut être plus pertinent.

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Pas très clair, mais peut-être que ce n'est pas au moment du changement dans la cellule que ta macro devrait démarrer... (?)

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    Lapin compris.

    MAIS - si c'est vraiment une macro VBA, et si les écritures dans la case sont vraiment ce qui la ralentit, le bon vieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub MaMacro()
    Application.Screenupdating = False
    (.../mon code/...)
    Application.Screenupdating = True
    End Sub
    devrait faire l'affaire.

    Sinon, il nous faut plus de billes.

  7. #7
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    bonsoir,
    Citation Envoyé par faurejo Voir le message
    J'appelle cette macro en boucle, et l'écriture dans les cellules de mon worksheet est long. Seule, le fait que la macro soit exécutée m'intéresse. Le contenu retournée dans la cellule ne m'intéresse pas. Ainsi,
    je souhaite trouver un moyen d'exécuter cette macro en ne perdant pas le temps d'écriture.
    Avez vous une idée?

    Merci.
    question bête: pourquoi appelles tu cette fonction à partir d'une cellule et non avec une variable?

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