Copier , Coller , presse papier en vb6

Signaler
Messages postés
206
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
25 mars 2005
-
Messages postés
5
Date d'inscription
dimanche 13 février 2011
Statut
Membre
Dernière intervention
23 juin 2011
-
Hé bien salut tout le forum !
J'aurais une question simple a vous posé !
J'aurais voulu savoir un petit code pas (((trés longs))) pour faire un "Copier - Coller" d'une textbox !
Voila merci d'avance , sa m'avancerait mieux !

----------------
Sibelle07, :)

7 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
103
Oups, je suis allé un peu trop vite, donc voici le code :

Pour copier :
With Clipboard
.Clear
.SetText Text1
End With

Pour coller :
With Clipboard
Text1.Text = .GetText
End With

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 107 internautes nous ont dit merci ce mois-ci

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
103
Tu veux dire copier coller du contenu d'une textbox ?

Si c'est cà :

Pour copier :
With Clipboard
.Clear
.SetText Text1
End With

Pour coller :

With Clipboard
.Clear
Text1.text .GetText
End With

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
Messages postés
206
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
25 mars 2005

Oui , je suis d'acord pour copier ,
Mais pour coller je ne vois pas il me dit qui y a une erreur !
A mon avis il manque le point ? non ?

With Clipboard
.Clear
Text1.text .GetText
End With

Ciao
Sibelle07, :)
Messages postés
206
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
25 mars 2005

Oké sa marche mainteant ,

Merci .

Ciao
Sibelle07, :)
Messages postés
134
Date d'inscription
mercredi 9 mars 2005
Statut
Membre
Dernière intervention
17 octobre 2010

Bonjour,
Pensez vous que ce code pourrait être utilisé pour faire un copier/coller de données Excel vers une datagrid d'une form? Les donnees ne vont t'elles pas toutes ce copier dans la même cellule du datagrid?
Cordialement,
Messages postés
2
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
28 septembre 2011

Private Sub AIDE_Click()
frmAbout.Show
End Sub
Private Sub Coller_Click()
Screen.ActiveControl = Clipboard.GetData()
End Sub
Private Sub Copier_Click()
Clipboard.Clear
Clipboard.SetData Screen.ActiveControl
End Sub
Private Sub Couper_Click()
Clipboard.Clear ' effacer presse papier
Clipboard.SetData Screen.ActiveControl 'contenue oicture vers presse papiers
Screen.ActiveControl = LoadPicture("") ' efface picture box
End Sub
Private Sub effacer_Click()
Screen.ActiveControl = LoadPicture("")
End Sub
Private Sub Picture1_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)
If button = 2 Then
PopupMenu Edition
End If
End Sub
Private Sub Quitter_Click()
End
End Sub
Option Explicit
' Options de sécurité des clés de base de registres...
Const READ_CONTROL = &H20000
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
                       KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
                       KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
                    
' Types racines des clés de base de registres...
Const HKEY_LOCAL_MACHINE = &H80000002
Const ERROR_SUCCESS = 0
Const REG_SZ = 1                         ' Chaîne terminée par un caractère nul Unicode.
Const REG_DWORD = 4                      ' Nombre 32 bits.
Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
Const gREGVALSYSINFOLOC = "MSINFO"
Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
Const gREGVALSYSINFO = "PATH"
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
Private Sub cmdSysInfo_Click()
  Call StartSysInfo
End Sub
Private Sub cmdOK_Click()
  Unload Me
End Sub
Private Sub Form_Load()
    Me.Caption = "À propos de " & App.Title
    lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision
    Presse_Papiers.Caption = App.Title
End Sub
Public Sub StartSysInfo()
    On Error GoTo SysInfoErr
 
    Dim rc As Long
    Dim SysInfoPath As String
   
    ' Essaie d'obtenir le chemin et le nom du programme Infos système dans la base de registre...
    If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
    ' Essaie d'obtenir uniquement le chemin du programme Infos système dans la base de registre...
    ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
        ' Valide l'existence de la version du fichier 32 bits connu.
        If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
            SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
           
        ' Erreur - Impossible de trouver le fichier...
        Else
            GoTo SysInfoErr
        End If
    ' Erreur - Impossible de trouver l'entrée de la base de registre...
    Else
        GoTo SysInfoErr
    End If
   
    Call Shell(SysInfoPath, vbNormalFocus)
   
    Exit Sub
SysInfoErr:
    MsgBox "Les informations système ne sont pas disponibles actuellement", vbOKOnly
End Sub
Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
    Dim i As Long                                           ' Compteur de boucle.
    Dim rc As Long                                          ' Code de retour.
    Dim hKey As Long                                        ' Descripteur d'une clé de base de registres ouverte.
    Dim hDepth As Long                                      '
    Dim KeyValType As Long                                  ' Type de données d'une clé de base de registres.
    Dim tmpVal As String                                    ' Stockage temporaire pour une valeur de clé de base de registres.
    Dim KeyValSize As Long                                  ' Taille de la variable de la clé de base de registres.
    '------------------------------------------------------------
    ' Ouvre la clé de base de registres sous la racine clé {HKEY_LOCAL_MACHINE...}.
    '------------------------------------------------------------
    rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Ouvre la clé de base de registres.
   
    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Gère l'erreur...
   
    tmpVal = String$(1024, 0)                             ' Alloue de l'espace pour la variable.
    KeyValSize = 1024                                       ' Définit la taille de la variable.
   
    '------------------------------------------------------------
    ' Extrait la valeur de la clé de base de registres...
    '------------------------------------------------------------
    rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
                         KeyValType, tmpVal, KeyValSize)    ' Obtient/Crée la valeur de la clé.
                       
    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Gère l'erreur.
   
    If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then           ' Win95 ajoute une chaîne terminée par un caractère nul...
        tmpVal = Left(tmpVal, KeyValSize - 1)               ' Caractère nul trouvé, extrait de la chaîne.
    Else                                                    ' WinNT ne termine pas la chaîne par un caractère nul...
        tmpVal = Left(tmpVal, KeyValSize)                   ' Caractère nul non trouvé, extrait la chaîne uniquement.
    End If
    '------------------------------------------------------------
    ' Détermine le type de valeur de la clé pour la conversion...
    '------------------------------------------------------------
    Select Case KeyValType                                  ' Recherche les types de données...
    Case REG_SZ                                             ' Type de données chaîne de la clé de la base de registres.
        KeyVal = tmpVal                                     ' Copie la valeur de la chaîne.
    Case REG_DWORD                                          ' Type de données double mot de la clé de base de registres.
        For i = Len(tmpVal) To 1 Step -1                    ' Convertit chaque bit.
            KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))   ' Construit la valeur caractère par caractère.
        Next
        KeyVal = Format$("&h" + KeyVal)                     ' Convertit le mot double en chaîne.
    End Select
   
    GetKeyValue = True                                      ' Retour avec succès.
    rc = RegCloseKey(hKey)                                  ' Ferme la clé de base de registres
    Exit Function                                           ' Quitte.
   
GetKeyError:      ' Réinitialise après qu'une erreur s'est produite...
    KeyVal = ""                                             ' Affecte une chaîne vide à la valeur de retour.
    GetKeyValue = False                                     ' Retour avec échec.
    rc = RegCloseKey(hKey)                                  ' Ferme la clé de base de registres.
End Function
Messages postés
5
Date d'inscription
dimanche 13 février 2011
Statut
Membre
Dernière intervention
23 juin 2011

Clipboard.SetText(TextBox1.Text)
MsgBox("Le texte")
essayez ca ;)