Fenetre de texte

S

Smirnoff

Guest
Bonjours, voici mon petit VB

Option Private Module

Sub CommentaireDivx()
Dim Adr As Variant
Adr = ????
Set cmt = ActiveCell.AddComment
With cmt.Shape
.Height = 226.5
.Width = 156
cmt.Text Text:=""

End With
End Sub


J'aimerais pouvoir demander a l'utilisateur de saisis son texte
le texte etant un copier collé d'une autre application
style

text1:
text2:
...

Mais je ne sais pas comment faire apparaitre une popup ou encore comment allez lire directement dans le buffer de windows ...
merci d'avance
 
S

Smirnoff

Guest
Voici uen formule qui marche

Option Private Module

Sub CommentaireDivx()

Dim Texte As String, Ligne As String
Dim I As Integer, J As Integer
Dim DObj As New DataObject
DObj.GetFromClipboard
Texte = DObj.GetText(1)

Set cmt = ActiveCell.AddComment
With cmt.Shape
.Height = 226.5
.Width = 156
cmt.Text Text:=Texte

End With
End Sub

sauf qu'il ajoute des "carre" a chaque fin de ligne, pouvez vous m'aider a les retirer

re merci
 
S

STéphane

Guest
bonjour

essaye la fonction Clean, si je me souviens bien de comment l´appliquer, cela donne cela : txt=application.worksheetfunction.clean(txt)


j´espère que cela va marcher, c´est à préférer à des méthodes de substituion de caractères.

ciao
steph
 
S

Smirnoff

Guest
Option Private Module

Sub CommentaireDivx()

Dim Texte As String
Dim DObj As New DataObject
DObj.GetFromClipboard
Texte = DObj.GetText
Texte = Application.WorksheetFunction.Clean(Texte)
Set cmt = ActiveCell.AddComment
With cmt.Shape
.Height = 226.5
.Width = 156
cmt.Text Text:=Texte
End With

End Sub

voici donc ... donc cela a bien fonctionner pour les petit carré mais cela a supprimer les Carriege return .... embetant, une autre idée ou modifictation?
merci d'avance
 
S

STéphane

Guest
bonjour

je te propose de regarder autre chose, un code qiu d2coupe chaque ligne contenu dans le presse-papiers :

va à la section suivante <http://xlbysteph.free.fr/aideinformatique/actioncellule.htm#Presse_papier>

et cherche le code "Connaître chaque ligne du presse-papiers"

bye
Stéphane
 
S

Smirnoff

Guest
ce qui donen et qui fonctionen a la perfection un tout grand merc a toi pur toute ton aide!!!!


Option Private Module

Sub CommentaireDivx()

Dim Texte As String, Ligne As String
Dim txtfinal As String
Dim I As Integer, J As Integer
Dim DObj As New DataObject
DObj.GetFromClipboard
Texte = DObj.GetText(1)
Do
I = J + 1
J = InStr(I, Texte, vbCr)
Ligne = Mid$(Texte, I, IIf(J, J - I, Len(Texte) - I + 1))
txtfinal = txtfinal + Ligne
Loop While J
Set cmt = ActiveCell.AddComment
With cmt.Shape
.Height = 226.5
.Width = 156
cmt.Text Text:=txtfinal
End With

End Sub


voila la fonction finale au cas ou cela servirais a kelk'un
merci bcp bcp bcp !!!
 
S

STéphane

Guest
Insertion - Texte- Presse-Papiers - Commentaire - Saut de ligne - Retour chariot

De rien !

Je ne boirais pas une smirnoff à ta santé mais plutôt un PILSENER (attention ce n´est pas une PISLNER)

;-)
 

Statistiques des forums

Discussions
313 131
Messages
2 095 558
Membres
106 294
dernier inscrit
Stéphkdsd