Mon code est très bien documenter afin d'être suivi facilement.
Le code est fait pou être mis dans un module.
Source / Exemple :
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const EM_UNDO = &HC7
Public Sub MenuColler()
'Analyse du champ de saisie
If TypeOf Screen.ActiveControl Is TextBox And Clipboard.GetFormat(vbCFText) Then
Screen.ActiveControl.SelText = Clipboard.GetText()
Exit Sub
End If
'analyse du contrôle PictureBox
If TypeOf Screen.ActiveControl Is PictureBox And Clipboard.GetFormat(vbCFBitmap) Then
Screen.ActiveControl.Picture = Clipboard.GetData()
Exit Sub
End If
End Sub
Public Sub MenuCopier()
'Analyse du champ de saisie
If TypeOf Screen.ActiveControl Is TextBox Then
If Screen.ActiveControl.SelLength Then
Clipboard.Clear
Clipboard.SetText Screen.ActiveControl.SelText
Exit Sub
End If
End If
'Analyse du contrôle pictureBox
If TypeOf Screen.ActiveControl Is PictureBox Then
Clipboard.Clear
Clipboard.SetData Screen.ActiveControl.Image
Exit Sub
End If
End Sub
Public Sub MenuCouper()
Dim LongDébut, LongSel, LongFin As Integer
Dim Temp As String
'Commence par copier
MenuCopier
'Efface la sélection dans le champ de saisie
If TypeOf Screen.ActiveControl Is TextBox Then
'Détermine la partie du texte à conser
LongDébut = Screen.ActiveControl.SelStart
'Avant la sélection
LongSel = Screen.ActiveControl.SelLength
Temp = Left(Screen.ActiveControl.Text, LongDébut)
'Plus Après la sélection
LongFin = Len(Screen.ActiveControl.Text) - (LongDébut + LongSel)
Temp = Temp + Right(Screen.ActiveControl.Text, LongFin)
'Actualise le contrôle
Screen.ActiveControl.Text = Temp
Exit Sub
End If
'Efface le contrôle PictureBox
If TypeOf Screen.ActiveControl Is PictureBox Then
Screen.ActiveControl.Picture = LoadPicture("")
End If
End Sub
Public Sub MenuÉdition()
'Désactivation temporaire des commandes
'LeNom de la Feuille ou le controle est
Web.Couper.Enabled = False
Web.Copier.Enabled = False
Web.Coller.Enabled = False
Web.Vider.Enabled = False
'Analyse du champ de saisie
If TypeOf Screen.ActiveControl Is TextBox Then
If Screen.ActiveControl.SelLength Then
'LeNom dee la feuille
Web.Couper.Enabled = True
Web.Copier.Enabled = True
End If
If Clipboard.GetFormat(vbCFText) Then
'LeNom de la feuille
Web.Coller.Enabled = True
End If
End If
'Analyse du contrôle image
If TypeOf Screen.ActiveControl Is PictureBox Then
'LeNom de la feuille
Web.Couper.Enabled = True
Web.Copier.Enabled = True
If Clipboard.GetFormat(vbCFBitmap) Or Clipboard.GetFormat(vbCFDIB) Or Clipboard.GetFormat(vbCFMetafile) Then
LeNom de la feuille
Web.Coller.Enabled = True
End If
End If
'On ne peut effacer le Presse-Papier que s'il contient du texte ou une image
If Clipboard.GetFormat(vbCFText) Or Clipboard.GetFormat(vbCFBitmap) Or Clipboard.GetFormat(vbCFMetafile) Or Clipboard.GetFormat(vbCFDIB) Then
Web.Vider.Enabled = True
End If
End Sub
Public Sub MenuVider()
Clipboard.Clear
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.