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 :

Copy formule d'une cellule .c'est lent


Sujet :

Macros et VBA Excel

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut Copy formule d'une cellule .c'est lent
    j'ai un code pour copier la formule de la 1er cellule d'une selection
    ca marche pas mais bizarrement la copie est saccadée et un peu lente.
    avez vous une autre méthode
    merci pour votre aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub copyversbas_form_Sli1()
        ActiveCell.Copy
        Set plage = Range(Selection.Address)
       For Each c In plage
        c.PasteSpecial Paste:=xlPasteFormulas
      Next c
    End Sub

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    oui, déjà ne pas utiliser de variable inutlle comme par exemple Plage qui est juste un doublon de Selection
    mais surtout ne pas utiliser de boucle si la formule a été bien conçue, juste l'affecter directement à la sélection …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut
    intéressant marc.tu écriraiscomment alors le code

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Déjà vérifier si la formule a été bien conçue ou pas ?

    Formule fonctionnelle dans la première cellule puis recopie vers le bas pour alimenter la "plage" :
    si le résultat escompté est bien celui attendu alors il y a différentes possibilités dont la première
    activer l'Enregistreur de macro puis réitérer la même manipulation …
    La seconde consistant juste à alimenter directement la propriété Formula de la plage de cellules …

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut
    pas mal marc.j'ai adapté ton idée avec çà.c'est nettement plus rapide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     ActiveCell.Copy
        Selection.PasteSpecial Paste:=xlPasteFormulas

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Bonjour,
    oui, déjà ne pas utiliser de variable inutlle comme par exemple Plage qui est juste un doublon de Selection
    mais surtout ne pas utiliser de boucle si la formule a été bien conçue, juste l'affecter directement à la sélection …
    désolé mais pas bien compris tes phrases

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Là c'est la troisième option ! La manière indirecte …

    Conclusion : avant de coder en VBA, se poser déjà la question du comment côté Excel,
    évitant bien souvent une boucle gazière (usine) !

    Sinon j'ai déjà écrit un complément d'information dans le post #4;
    en gros Range.Formula = "formule" ou encore plage.Formula = cellule.Formula, la méthode directe …

  8. #8
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut
    merci marc.intéressant comme approche.j'éviterais au maximum les each ou for quand je peux

  9. #9
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    L'autre méthode directe évoquée via l'Enregistreur de macro est AutoFill (mais un peu plus compliquée) …

  10. #10
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut
    c'est l'enregistreur macro qui m'a inspiré mon dernier code

  11. #11
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Oui car tu as fait un copier / collage spécial valeur et non une recopie directe vers le bas via la poignée.

    Mais peu importe, le résultat te convenant déjà ...

  12. #12
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut
    on va dire que c'est resolu grace à toi marc

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

Discussions similaires

  1. [XL-2010] Copier/coller des formules quand une cellule est renseignée
    Par lumpys dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/12/2014, 13h54
  2. [VBA-E] Afficher et fixer la formule d'une cellule donnée
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/06/2014, 07h27
  3. copie de formule d'une cellule
    Par sebolix dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/08/2008, 02h10
  4. [VBA] Macro qui envoie une formule dans une cellule
    Par Okoss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2007, 22h32
  5. [VBA-E] - lire la formule d'une cellule
    Par jimbololo dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/06/2006, 13h59

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