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 :

Copie image (temps d'exécution trop long)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 120
    Par défaut Copie image (temps d'exécution trop long)
    Bonjour,

    J'ai une image "Plein03" qui est stockée par exemple en A1 de la feuille "Table".
    Je veux la copier en "AM7" et qu'elle reste en "A1"
    Je sais la déplacer avec le code ci-dessous, ça va très vite, mais je n'ai plus d'image référence en A1 puisque je l'ai seulement déplacée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub Deplace()
        Dim F As Worksheet
        Dim T As Range
        Set F = Sheets("Table")
        Set T = ws.Range("AM7")
        With F.Shapes("Plein03")
            .LockAspectRatio = msoFalse
            .Top = T.Top
            .Left = T.Left
            .Height = T.Height
            .Width = T.Width
        End With
    End Sub
    Si j'utilise la solution bestiale de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Range("A1").Select
    Selection.Copy
    Range("AM7").Select
    ActiveSheets.Paste
    Ca marche, mais c'est terriblement long !

    Comment faire ?

    Merci



    Se

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,
    et avoir tout simplement deux images dans ta feuille dès le début, au même emplacement ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 120
    Par défaut
    Bonsoir,

    en fait il s'agit de placer sur une table de roulette, une mise de 1€ ou 2€ ou 3€ ….. Pour couvrir toutes les possibilités des "chances simples", des "à cheval" et des "carrés" qui sont à l'intérieur de la table, il faudrait un stock de 116 images de 1€, 116 images de 2€ etc . . .) à réinitialiser à chaque nouveau tirage.
    C'est possible, je l'ai essayé avec 5, mais est-ce bien raisonnable ? N'y a t-il rien de mieux ?
    Cordialement.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Dans ce cas tu peux jouer sur la propriete Visible de la shape ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 120
    Par défaut
    je n'avais jamais entendu parler de cette fonction.
    Si c'est ce que je crois deviner de ce terme "Visible" False ou True, ça me permettrait d'empiler sur chacun des 37 numéros de la table les 10 images possibles correspondant aux 10 mises possibles de 1€ à 10€.
    Tant qu'un n° n'est pas sollicité, toutes les images sont rendues invisibles et dès qu'un n° est sollicité, seule l'image correspondant à cette mise est rendue visible.
    Je vais donc me mettre à niveau et essayer.

    Merci.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re rien pigé au probleme


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub Deplace()
        Dim F As Worksheet
        Dim T As Range
        Set F = Sheets("Table")
        Set T = ws.Range("AM7")
        F.Shapes("Plein03").Copy
        F.Paste
        Set shp = F.Shapes(F.Shapes.Count)
        With shp
            LockAspectRatio = msoFalse
            .Top = T.Top
            .Left = T.Left
            .Height = T.Height
            .Width = T.Width
        End With
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. [XL-2010] Temps d'exécution trop long
    Par pomdeterfrite dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/05/2012, 18h41
  2. [AC-2007] Temps d'exécution trop long.
    Par Butler211 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/05/2012, 15h15
  3. Arreter les requêtes ayant un temps d'exécution trop long
    Par shaftJackson dans le forum PL/SQL
    Réponses: 1
    Dernier message: 24/02/2010, 15h13
  4. [TCPDF] Temps d'exécution trop long
    Par -Neo- dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 06/11/2009, 12h08
  5. temps d'exécution trop long trés bizarre
    Par fatjoe dans le forum C++
    Réponses: 0
    Dernier message: 09/05/2008, 02h42

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