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

VBA Access Discussion :

Exécution d'un code de la faq sur le Presse papier


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut Exécution d'un code de la faq sur le Presse papier
    Bonjour,

    Depuis mon application Access, j'exécute une requête et j'exporte le résultat dans Excel. Ensuite pour empêcher l'utilisateur de copier j'utilise le code suivant:

    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
    Comment vider le presse papier ? [haut]  
     
    auteur : SilkyRoad 
    Utilisez cette procédure pour vider le contenu du presse papier. 
    
    
    Vba 
    
    Sub ViderPressePapier()
    'Nécéssite d'activer la référence "Microsoft Forms 2.0 Object Library."
    Dim Cible As dataObject
    
    Set Cible = New dataObject
    Cible.setText ""
    Cible.putInClipboard
    
    Set Cible = Nothing
    End Sub
    Malheureusement, Malgré la référence activée, en compilant j'ai une erreur au niveau de la syntaxe en rouge. L'erreur est la suivante!:

    Erreur de compilation:
    Utilisation incorrecte du mot clé New
    J'ai même regardé dans l'aide sur le presse papier et j'ai utilisé le code fournit (qui d'ailleurs est semblable à celui que j'ai mis là haut) mais j'ai la même erreur.

    Comment faire donc pour vider le presse papier depuis ACCESS?

    NB: Je ne savais pas si je devais poster depuis le forum Excel ou celui d'Access. j'ai choisi Excel car le code que j'ai pris provient de la faq de ce forum. Je m'excuse auprès de tous si je me suis trompé, surtout auprès des modérateurs qui vont bien vouloir m'envoyer un message privé en cas d'erreur
    flet le kid

  2. #2
    Membre habitué Avatar de scully2501
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 184
    Points : 148
    Points
    148
    Par défaut
    As tu activé la référence comme dite?
    Nécéssite d'activer la référence "Microsoft Forms 2.0 Object Library."
    C'est tout un art de savoir programmer. Passant des heures à chercher une solution avec plaisir et joie.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut
    Oui, j'ai activé la référence.
    flet le kid

  4. #4
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test_dataobject()
    Dim cible As DataObject
    Set cible = New DataObject
    With cible
        .SetText ""
        .PutInClipboard
    End With
    Set cible = Nothing
     
    End Sub
    Je viens de tester ce code et il fonctionne parfaitement avec 3 références :
    visual basic For Application
    Microsoft Excel xx.x Object Library
    Microsoft Form xx.x Object Library

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut
    Ben, je dois avoir un gros soucis alors, parce je viens de tester et ça ne passe pas quand je compile. Pourtant j'ai les mêmes références activées chez moi.
    flet le kid

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut
    OK, je vais laisser cette possibilité et chercher une autre méthode que je mettrai dans un nouveau post. Merci
    flet le kid

  7. #7
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Tu mets résolu, mais apparemment ça ne l'est pas !

    As-tu essayé ce que je t'avais dis ?

    Et si tu mets seulement en place ce code dans un nouveau classeur, que se passe-t-il ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test_dataobject()
    Dim cible As DataObject
    Set cible = New DataObject
    With cible
        .SetText ""
        .PutInClipboard
    End With
    Set cible = Nothing
     
    End Sub

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut
    Comme je l'ai signifié plus haut, je suis sous ACCESS. J'avais plutôt essayé de mettre ce code dans un nouveau module en vain.
    flet le kid

  9. #9
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Comme je l'ai signifié plus haut, je suis sous ACCESS
    Peut être peux-tu ouvrir un post sous VBA Access ?

  10. #10
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Ensuite pour empêcher l'utilisateur de copier
    C'est plutôt pour l'empecher de coller non ?
    Une solution de contournement, serait de copier quelque chose d'autre ou même ( a tester) d'utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.cutcopymode = false
    ?

  11. #11
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut
    Sous Access ce code ne fonctionne pas chez moi. mais en le mettant sous Excel, je n'ai eu aucun soucis. Et la finalité pour moi était d'empêcher depuis Access, un copier coller sous Excel. Finalement, j'utilise un fichier Excel préalablement crée. Donc, j'ai mis le code directement dans ce fichier. Je n'ai donc plus de soucis car ce code fonctionne.
    Je marque donc résolu ce sujet même si je me demande toujours pourquoi ce code ne fonctionne pas sous Access.

    Merci encore et à bientôt.
    flet le kid

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/05/2015, 10h15
  2. Réponses: 1
    Dernier message: 25/12/2013, 22h50
  3. [AC-2010] Copier sur le presse-papier
    Par philenull dans le forum VBA Access
    Réponses: 6
    Dernier message: 10/10/2013, 08h24
  4. Exécution d'un code sur IE9
    Par developpeur_débutant dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/05/2012, 16h38
  5. Réponses: 3
    Dernier message: 06/03/2008, 15h15

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