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

  1. #1
    Membre habitué
    Profil pro
    Collégien
    Inscrit en
    janvier 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : janvier 2008
    Messages : 263
    Points : 157
    Points
    157
    Par défaut Problème macro qui fonctionne que en pas à pas sous Excel 2016
    Bonjour à tous alors voilà le problème du jour j'ai une macro qui fonctionne correctement, sauf sous les postes sous Excel 2016
    La macro fonctionne pas à pas, par contre

    Le bug se produit au niveau d'une macro qui copie un tableau en image, le met dans un chart, et ensuite le sauve en jpg


    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
    17
    18
    19
    20
    21
     
    Sub export_jpg(mytab)
        erk = 0
        On Error GoTo boucle0
        Range(mytab).CopyPicture
        ThisWorkbook.Activate
        ActiveSheet.Paste
     
        On Error GoTo 0
     
        With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
           .Paste
            .Export Filename:=ThisWorkbook.Path & "\Graphique1.jpg", filtername:="JPG"
        End With
     
    boucle0:
        If erk < 10 Then
            Range(mytab).CopyPicture
            Resume Next
        End If
    End Sub
    En général il copie bien le tableau en image (j'insiste un peu avec la gestion d'erreur si jamais il refuse)
    après c'est au moment de copier dans le chart qu'il me met juste un blanc, du coup il exporte une image blanche...
    le problème se situerait donc autour de la ligne .Paste

    étant donné que la macro fonctionne sur un poste < 2016 et fonctionne sous 2016 en pas à pas, je me dis que c'est un souci classique de gestion de presse papiers, enfin une histoire du genre
    est ce que le fais d'ajouter le graphique (.add) et de faire un .paste dans la foulée est pas too much.. bizarre

    j'ai essayé de mettre des temporisations et des DoEvents partout pour l'aider à digérer mais ça a pas changé grand chose

    Merci beaucoup pour votre aide
    Gorz

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    juillet 2012
    Messages
    4 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : juillet 2012
    Messages : 4 958
    Points : 9 645
    Points
    9 645
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    peut-être une question de temporisation

    essaye de faire un Wait d'une seconde ou deux avant/après le paste
    ne pas négliger DoEvents au passage, on sait jamais

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    7 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 7 565
    Points : 12 697
    Points
    12 697
    Par défaut
    Bonjour
    Méfie-toi également des objets ThisWorkbook et ActiveSheet. Ils jouent parfois des tours.
    Ne leur fais pas confiance et préfère spécifier toi-même ces objets. Cela te libèrera en outre de la nécessité d'activer.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Membre habitué
    Profil pro
    Collégien
    Inscrit en
    janvier 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : janvier 2008
    Messages : 263
    Points : 157
    Points
    157
    Par défaut
    Merci beaucoup !

    Bonne journée à tous.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/01/2016, 14h58
  2. Macro qui fonctionne en faisant F8 mais pas en auto
    Par krapoulos dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/06/2015, 14h20
  3. [LibreOffice][Tableur] Une macro qui fonctionne sous Linux mais pas sous windows
    Par ludox62 dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 07/01/2014, 22h26
  4. [XL-2007] Macro qui fonctionne sur un poste mais pas sur un autre
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/06/2012, 11h24
  5. Réponses: 1
    Dernier message: 03/08/2007, 11h09

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