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 :

memoire insuffisante a cause du .copy


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut memoire insuffisante a cause du .copy
    bonjour,

    je suis debutant (mais motivé ^^) et j'ai un gros probleme
    mon code permet d'enregistrer une feuille du classeur dans le format htm

    le probleme c'est la memoire: j'effectue cet action toute les 5s et ma memoire vive s'incremente de la taille de mon fichier sans jamais ce vider

    d'apres ce que j'ai pu voir la fonction ".copy n'envoie pas les données dans le presse papier de windows ni dans celui d'office,comment faire pour supprimer les ancien fichier enregistrer de la memoire vive??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Exporte la feuille "html" dans un autre fichier au format ".htm"
    'Application.DisplayAlerts = False
       ' Nom = "vitesse_lignes"
        'Filename = Nom
        'Sheets("Html").Copy
        'ActiveWorkbook.SaveAs Filename:="C:\" & Filename, fileformat _
           ' :=xlHtml
        'ActiveWorkbook.Close  
    'Application.DisplayAlerts = True

    j'ai essayer pas mal de chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Declare Function CloseClipboard Lib "user32" () As Long
    Private Declare Function OpenClipboard Lib "user32" () As Long
    Private Declare Function EmptyClipboard Lib "user32" () As Long
        OpenClipboard 
        EmptyClipboard
        CloseClipboard
    =>ca ne fait pas de beug mais ca efface rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Declare Function CloseClipboard Lib "user32" () As Long
    Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function EmptyClipboard Lib "user32" () As Long
        OpenClipboard 0
        EmptyClipboard
        CloseClipboard
    =>su ou fonction non defini sur Openclipboard

    clipboard.close
    =>ca ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CutCopyMode = False
    => ca marche pas non plus


    je sait vraiment plus quoi faire pour effacer la memoire vive apres la fonction ".copy"

    je vient d'essayer aussi

    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
    Public declare function CloseClipboard Lib "user32" () As long 
    Public declare function EmptyClipboard Lib "user32" () As long 
    Public declare function OpenClipboard Lib "user32" (ByVal hwnd As long) As long 
     
    Sub ClipboardClear() 
    dim rtn As long 
    rtn = OpenClipboard(0&) 
    rtn = EmptyClipboard 
    rtn = CloseClipboard 
    end Sub
     
    ou bien :
    Sub ClearCB() 
    Set Dummy = New DataObject 
    Dummy.SetText "" 
    Dummy.PutInClipboard
    end Sub
    =>ca beug pas mais ne resoud pas mon probleme
    apres tout c'est essai raté je me demande si c'est bien dans le presse papier que ca va...

    Merci d'avance pour vos reponse

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je viens de voir en collant ton code que tu ne colles pas tes données...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    'Exporte la feuille "html" dans un autre fichier au format ".htm"
    Application.DisplayAlerts = False
       Nom = "vitesse_lignes"
       Filename = Nom
       Sheets("Html").Copy
       DoEvents
       'là, tu dois bien coller ce que tu as copié quelque part, non ?
       DoEvents
       ActiveWorkbook.SaveAs Filename:="C:\" & Filename, fileformat _
            :=xlHtml
       DoEvents
       ActiveWorkbook.Close
       DoEvents
    Application.DisplayAlerts = True
    Je pense tu as un autre pb potentiel. Quand tu ouvres, enregistres, copy, colle un fichier ou des données, selon la taille de ce que tu copies/colles, tu dois laisser au système le temps de souffler et d'effectuer le travail. Pour ça, tu as DoEvents. Pour l'enregistrement, la fermeture ou l'ouverture d'un fichier, la mémoire ni la vitesse du Mµ n'ont "à y voir", c'est celle du DD qui est en cause.
    Tu dis
    A+

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    pour de ce qui est de coller nan je colle pas,est ce pour ca que j'ai des probleme avec ma memoire vive?

    en fait ca m'ouvre un nouveau classeur avec la feuille "html"
    et du coup j'enregistre ce nouveau classeur et le ferme
    donc j'ai pas besoin de coller (enfin je pense pas...)

    pour doevents ca ne regle pas mon probleme mais je les met quand meme c'est vrai que c'est utile

    par contre je tien a certifier que ma memoire vive est en cause a chaque fois que ca copie ma memoire vive fait un pic (je sait ca c'est normal) et redescend pas au niveau d'avant mais augmente de 2Mo et ca a chaque copier

    j'ai tester le reste de mon programme sans le .copy et la pas de probleme

    voici la preuve de mon probleme au cas, ou ca vous donnerez une idee


    merci d'avance


    Nb: j'ai bien fait coller juste au cas ou meme le probleme est rester le meme
    ce n'est pas mon pc non plus qui est en cause car j'ai essayer ce programme sur plusieur PC est toujour le meme resultat

Discussions similaires

  1. Probleme VB6 et erreur 7 memoire insuffisante
    Par dubidon dans le forum Windows
    Réponses: 3
    Dernier message: 31/05/2006, 11h04
  2. [VB6] Erreur 7 memoire insuffisante ??
    Par dubidon dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 31/05/2006, 11h03
  3. [MFC/Automation Excel] memoire insuffisante
    Par hiko-seijuro dans le forum MFC
    Réponses: 3
    Dernier message: 30/03/2006, 17h55
  4. memoire insuffisante
    Par Coulomb dans le forum Sécurité
    Réponses: 5
    Dernier message: 02/11/2005, 13h36
  5. pbleme memoire insuffisante
    Par charlie2709 dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/05/2004, 08h33

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