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 :

Affecter le contenu du presse papier à une variable


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut Affecter le contenu du presse papier à une variable
    Bonjour, avec access 2000, j'ai mis au point une application avec laquelle je lance un service web, puis copie l'écran avant de revenir dans mon appli et de vider le contenu du presse papier à l'intérieur d'une zone de texte. Je lance ensuite le traitement de conversion pour en extraire les données et le format convenu. Je souhaite néanmoins modifier cette procédure afin de la simplifier et je souhaiterai affecter le contenu du presse papier à une variable afin de manipuler cette variable. Est-ce réalisable et surtout ai-je été assez clair dans mes explications. Par avance, merci de vore aide

  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
    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é
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    J'avais déjà lu ces faqs mais je n'ai pas trouvé les réponses que j'étais venu chercher. Moi c'est l'inverse de la faq que je cherche. Je peux copier le contenu de mon presse papier avec la commande << sendkeys "^v" mais ce que je souhiate effectuer c'est affecter la valeur du contenu de mon presse papier à une variable, du style :
    dim myvariable as string
    myvariable = "contenu du presse papier"

    Merci de votre aide

  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
    Si tu veux, fais ton coller dans un fichier texte, et récupère le contenu du dit fichier dans une variable string

    sinon voir cette discussion : http://www.developpez.net/forums/d53...s-appactivate/
    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é
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    En fait, j'effectue 2 fois la passe vers mon appli DOS et donc 2 fois un Ctrl C et 2 fois un Ctrl V, et je cherche donc à stoker mon premier Ctrl C pour le concaténer avec mon 2ème Ctrl C, afin de ne faire qu'un seul Ctrl V.
    Est-ce possible

  6. #6
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Code pour faire l'opération inverse de celle proposée dans les sources, Copier le contenu d'un contrôle vers le presse papier Windows
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Option Explicit
     
    Private Declare Function GlobalLock Lib "kernel32.dll" (ByVal hMem As Long) As Long
    Private Declare Function GlobalUnlock Lib "kernel32.dll" (ByVal hMem As Long) As Boolean
    Private Declare Function GlobalSize Lib "kernel32.dll" (ByVal hMem As Long) As Long
     
    Private Declare Function lstrlen Lib "kernel32" (ByVal lpString As Any) As Long
    Private Declare Function lstrcpy Lib "kernel32" (ByVal lpStrDest As String, ByVal lpStrSce As Any) As Long
     
    Const CF_TEXT As Long = 1
    Private Declare Function OpenClipboard Lib "user32.dll" (ByVal hWndNewOwner As Long) As Boolean
    Private Declare Function CloseClipboard Lib "user32.dll" () As Boolean
    Private Declare Function IsClipboardFormatAvailable Lib "user32.dll" (ByVal wFormat As Long) As Long
    Private Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long
     
    Function GetClipboardTextAnsi() As String
    Dim lRetVal As Long, lpSce As Long
    Dim lAvailableFormat As Long
    Dim hGlobMem As Long, lMemBytes As Long
    Dim strTexte As String, lChars As Long
     
    If IsClipboardFormatAvailable(CF_TEXT) = 0 Then Exit Function
    lAvailableFormat = CF_TEXT
     
    lRetVal = OpenClipboard(Application.hWndAccessApp)
    If lRetVal = 0 Then Exit Function
     
    hGlobMem = GetClipboardData(lAvailableFormat)
    If hGlobMem = 0 Then
       CloseClipboard
       Exit Function
    End If
     
    lpSce = GlobalLock(hGlobMem)
    If lpSce = 0 Then
       CloseClipboard
       Exit Function
    End If
     
    lMemBytes = GlobalSize(hGlobMem)
    lChars = lstrlen(ByVal lpSce)
    If lChars <= lMemBytes Then
       strTexte = String(lChars, vbNullChar)
       lstrcpy strTexte, ByVal lpSce
    End If
     
    GlobalUnlock hGlobMem
    CloseClipboard
     
    GetClipboardTextAnsi = strTexte
    End Function
    La fonction GetClipboardTextAnsi() renvoie une String si le presse-papier contient du texte.
    Si le contenu du presse-papier n'est pas disponible au format texte, la fonction renvoie une chaîne de caractère vide.

    A+

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    merci LedZepII
    Je vais essayer ce code et tiens informer la communauté du résultat

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut

    ça marche, merci encore LedZeppII (cette fois avec les 2 P)

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

Discussions similaires

  1. coller le contenu du presse papier dans une variable
    Par lucassou dans le forum VB.NET
    Réponses: 5
    Dernier message: 01/05/2015, 09h38
  2. [XL-2002] Erreur lors de la récupération du contenu du presse-papiers dans une variable
    Par KiksGirl dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/07/2011, 16h14
  3. [AC-2007] Coller le contenu du presse-papier dans un champ spécifique d'une table
    Par toumack dans le forum Modélisation
    Réponses: 3
    Dernier message: 26/05/2009, 14h49
  4. Récupérer contenu de fichier dans une variable
    Par peppena dans le forum Linux
    Réponses: 4
    Dernier message: 15/06/2005, 12h50

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