[VBA] copier variable dans presse-papiers

Résolu/Fermé
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 22 févr. 2008 à 15:15
DedenK Messages postés 44 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 18 juillet 2023 - 24 mars 2013 à 12:25
Commencez par l'EDIT, si vous voulez être à la page :P

Bonjour,

J'ai un petit soucis avec word sur du VBA. En fait j'aimerai suite à une récupération de plusieurs variables saisies par l'utilisateur dans des inputbox, générer un texte avec ces variables à l'intérieur, ce qui permettrait de créer une configuration préfaite pour un routeur. Ce long texte sur plusieurs lignes sera ensuite copié dans le presse-papier après génération, prêt à être collé...

Le problème, c'est que je ne sais pas du tout comment inclure dans une variable un texte contenant des retours à la ligne. Ces retours à la ligne sont primordiaux, car ils valident chaque commande du routeur.


J'avais compris que la commande pour copier dans le presse papier était Clipboard.SetDataObject(conf), et que pour inclure mes variable dans ma variable il suffit de concaténer les zones pré-saisies des ledites variables :

dim conf as string

DNS = inputbox("saisir DNS")

conf = ("version 12.4
no service pad
service tcp-keepalives-in
service tcp - keepalives - out
hostname "&DNS&
service Password - encryption")

Clipboard.SetDataObject(conf)

msgbox("configuration générée et copiée dans le presse-papier !")


J'aurai voulu avoir la même chose, mais avec ces retours à la ligne qui soient contenus dans la variable, vous pensez que c'est possible ?

Merci infiniment !





EDIT : Bon, c'etait totalement stupide :

Dim conf As String

DNS = InputBox("saisir DNS")

conf = ("version 12.4" _
& Chr(10) & "no service pad" _
& Chr(10) & "service tcp-keepalives-in" _
& Chr(10) & "service tcp - keepalives - out" _
& Chr(10) & "hostname " & DNS _
& Chr(10) & "service Password - encryption")

MsgBox ("configuration générée et copiée dans le presse-papier !")


=> Par contre, la copie de la variable dans le presse papier ne marche pas...partout je vois que les gens selectionne un contenu avant de le copier dans le presse papier, tandis que moi j'aimerai juste copier le contenu de ma variable en String.

Merci !!!

2 réponses

lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 120
25 févr. 2008 à 10:37
Bon, j'ai enfin trouvé une solution, et grâce à ton aide j'ai solutionné entièrement comment copié une variable dans le presse papier simplement...C'etait pas facile, d'autant plus que la solution est introuvable sur le net...bref !

Private Sub configuration_Click()

Dim conf As String

DNS = InputBox("saisir DNS")

conf = ("version 12.4" _
& Chr(13) & Chr(10) & "no service pad" _
& Chr(13) & Chr(10) & "service tcp-keepalives-in" _
& Chr(13) & Chr(10) & "service tcp - keepalives - out" _
& Chr(13) & Chr(10) & "hostname " & DNS _
& Chr(13) & Chr(10) & "service Password - encryption")

Set mydata = New DataObject
mydata.SetText conf
mydata.PutInClipboard

MsgBox ("configuration générée et copiée dans le presse-papier !")
End Sub
11
DedenK Messages postés 44 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 18 juillet 2023 8
17 mars 2013 à 18:02
Bonjour,

J'ai utilisé ce code pendant plusieurs semaines (il marchait à merveille !), mais on dirait que depuis la dernière mise à jour (je ne sais si c'est d'Office 365 ou de Windows 8), il me vide le presse-papier au lieu de coller dedans ! En clair, il copie du vide... Est-ce que vous constatez ça aussi ?

Merci, DedenK.
0
DedenK Messages postés 44 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 18 juillet 2023 8
Modifié par DedenK le 24/03/2013 à 12:26
Bonjour,

Finalement, c'est revenu... Bizarre... Pardon pour le dérangement.

Cordialement, DedenK.
0