Intégration d' un menu contextuel Windows Copier/Coller dans un TextBox ou autre

Claude RAMONDOU

XLDnaute Nouveau
Bonjour à vous tous,

Je cherche à créer un menu contextuel Windows Copier/Coller pour mon application.

Ce menu susnommé aura pour fonction de saisir une donnée quelconque (Texte, Date etc......)

puis de la coller dans un autre TextBox ou ComboBox ou encore Listview en effectuant un clique

droit avec la souris.

J'ais télécharger un exemple sur http://www.andypope.info/vba/uf_contextualmenu.htm

Je l'ais testé, le menu contextuel apparaît bien en effectuant un clique droit avec la souris mais

en cliquant sur Coller, cela colle aucune donnée dans le TextBox2 copier depuis le TexBox1 et

quant j' effectue le coller dans une cellule Excel copier depuis le TexBox1, cela m' affiche deux

carrés avec un point d' exclamation dedans.

J' ais beau survoler le code, mais je comprend pas le problème.

Si quelqu'un pouvait m'expliqué se problème il pourrait me permettre d' avancé dans mon

projet.

En vous remerciant par avance.
 

Pièces jointes

  • UF_ContextualMenu.xlsm
    40.5 KB · Affichages: 6
  • Référebces - VBAProject.PNG
    Référebces - VBAProject.PNG
    19.1 KB · Affichages: 19
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Si tu testes ce petit bout de code , il se passe quoi chez toi?
(Dans un classeur vierge, insères un Userform sur lequel tu placeras deux TextBox et un CommandButton)
Puis colles dans le code de l'userform, le code ci-dessous et coche la référence Microsoft Forms 2.0 Object Library dans VBE.
VB:
Dim dObj As DataObject
 
Private Sub CommandButton1_Click()
With TextBox1: .SelStart = 0: .SelLength = TextBox1.TextLength: .Copy: .Value = vbNullString: End With
dObj.GetFromClipboard: TextBox2.Text = dObj.GetText(1)
End Sub
 
Private Sub UserForm_Initialize()
Set dObj = New DataObject
Me.Width = 215: Me.Height = 100: CommandButton1.Top = 45: CommandButton1.Width = 75
With TextBox1: .Top = 2: .Left = 2: .Width = 200: .Height = 15: End With
With TextBox2: .Top = 25: .Left = 2: .Width = 200: .Height = 15: End With
TextBox1.Text = "Bonjour, " & Application.UserName & ", on se copie vers le TextBox2?"
End Sub
Le contenu du TextBox1 est bien copié dans le TextBox2 ?
(sur mon PC, test OK, W10-64bits +Excel 2013)
 

Claude RAMONDOU

XLDnaute Nouveau
Re

Si tu testes ce petit bout de code , il se passe quoi chez toi?
(Dans un classeur vierge, insères un Userform sur lequel tu placeras deux TextBox et un CommandButton)
Puis colles dans le code de l'userform, le code ci-dessous et coche la référence Microsoft Forms 2.0 Object Library dans VBE.
VB:
Dim dObj As DataObject

Private Sub CommandButton1_Click()
With TextBox1: .SelStart = 0: .SelLength = TextBox1.TextLength: .Copy: .Value = vbNullString: End With
dObj.GetFromClipboard: TextBox2.Text = dObj.GetText(1)
End Sub

Private Sub UserForm_Initialize()
Set dObj = New DataObject
Me.Width = 215: Me.Height = 100: CommandButton1.Top = 45: CommandButton1.Width = 75
With TextBox1: .Top = 2: .Left = 2: .Width = 200: .Height = 15: End With
With TextBox2: .Top = 25: .Left = 2: .Width = 200: .Height = 15: End With
TextBox1.Text = "Bonjour, " & Application.UserName & ", on se copie vers le TextBox2?"
End Sub
Le contenu du TextBox1 est bien copié dans le TextBox2 ?
(sur mon PC, test OK, W10-64bits +Excel 2013)


Bonjour Staple1600,

J' ais testé ton bout de code.

Le collage parfait, sauf que sa coupe et colle

de TextBox1 à TextBox2 au lieu de copier et coller.

Mais je vais chercher encore, voir si je peut le modifier.

Merci beaucoup pour t'on aide.

A charger de revanche,

Claude.
 

Pièces jointes

  • TESTE.xlsm
    20.9 KB · Affichages: 13

Discussions similaires

Statistiques des forums

Discussions
314 651
Messages
2 111 554
Membres
111 200
dernier inscrit
Ralfidu02