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 :

VBA gestion presse papier


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 63
    Points : 34
    Points
    34
    Par défaut VBA gestion presse papier
    Bonjour,

    Je souhaite lorsque je clique sur un boutons mettre dans le presse papier une données. Pour cela j'utilise le code suivants.
    Mon problème est que lorsque je colle cette données préalablement copier cela colle du blanc ou des hiéroglyphes ex : " " et si le je le colle dans notepad cela représente "￿￿".

    Si j’accède au presse papier par la méthode getfromclipboard, cela marche bien.
    Pouvez vous m'éclairer sur cette problématique .

    Voici mon code : je précise que je récupère ma données via un listview et que tous fonctionne à part le presse papier.

    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
     
    Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    Dim MyData As DataObject
    Set MyData = New DataObject
    Dim reference As String
     
    'Set MyData.SetText = Nothing
     
        If Not IsNumeric(ListIndex) Then ListIndex = 1
        If ColumnHeader.Index = 1 Then
            Col = 1
        Else
            Col = ColumnHeader.Index
            'MyData.SetText ListView1.ListItems(ListIndex).ListSubItems(ColumnHeader.Index - 1)
            reference = ListView1.ListItems(ListIndex).ListSubItems(ColumnHeader.Index - 1)
            'MsgBox reference
            MyData.SetText reference
            MyData.PutInClipboard
     
            MyData.GetFromClipboard
            Resultat = MyData.GetText(1)
            MsgBox Resultat
        End If
    End Sub
    Merci d'avance.

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

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    je ne sais personnellement déjà pas comment tu peux écrire que :
    Si j’accède au presse papier par la méthode getfromclipboard, cela marche bien.
    alors que tu tentes de mettre dans le presse-papier un subitem d'index 0 lorsque ColumnHeader.Index = 1
    Commence par m'expliquer ce phénomène qui m'échappe.
    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.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 63
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Cela est normal car dans mon listItems je charge un tableau.
    par contre à l'affichage j'ajoute en début de mon listitem une valeurs numérique que je ne veux pas copier.
    Ce qui fait que le subitems 2 correspond à la première valeur de mon tableau donc pour y accéder j’enlève une valeurs.

    Cette fonction marche bien, le problème ne viens pas de l'index de l'item.
    le code suivants marche bien, mais lorsque je colle ma données dans une autre applications, cela ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MyData.GetFromClipboard
    Resultat = MyData.GetText(1)
    MsgBox Resultat

Discussions similaires

  1. Vider le presse papier en VBA
    Par knecmotet dans le forum Général VBA
    Réponses: 17
    Dernier message: 05/03/2022, 20h50
  2. [VBA] Code presse papier
    Par bernard38 dans le forum Général VBA
    Réponses: 3
    Dernier message: 24/04/2006, 15h55
  3. [VBA-E] coller contenu Presse-papiers dans controle Image
    Par mr63 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/03/2006, 17h21
  4. [VBA] Vider le presse papier
    Par Kelyane dans le forum VBA Access
    Réponses: 7
    Dernier message: 07/10/2003, 12h05
  5. [VBA-E] Vider le presse-papier
    Par tinej dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2002, 09h33

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