Rechercher : dans
Par :

[VBA] copier variable dans presse-papiers

Dernière réponse le 25 fév 2008 à 10:37:33 lml-mike, le 22 fév 2008 à 15:15:08 
 Signaler ce message aux modérateurs

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 !
Configuration: Windows XP
Firefox 2.0.0.12






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 !!!

Meilleures réponses pour « [VBA] copier variable dans presse papiers » dans :
Accéder au presse-papier VoirÀ chaque fois que vous faîtes un couper (CTRL-X) ou un copier (CTRL-C) d'un élément, celui-ci est conservé temporairement dans le presse-papier. Le presse-papier de Windows se trouve dans le Gestionnaire de l'Album (sauf pour Vista). Pour y...
Télécharger Clipboard (Pour Vista) VoirC'est un petit archive auto-extractible que j'ai créé qui permet d'ajouter la commande clipbrd (qui permet d'afficher le presse-papier) à Vista. Pour l'utiliser, faites un clic droit sur le fichier téléchargé > Exécuter en tant qu'administrateur.

1

amigo, le 22 fév 2008 à 20:53:50
  • +1

Bonjour,

Le Chr(10) c'est le caractère Nouvelle Ligne
Le Chr(13) c'est le caractère Retour Chariot

Ces deux caractère vont par paire pour signifier un retour à la ligne
Donc tu devais essayer en les accolant dans l'ordre 13 10
& Chr(13) & Chr(10) & "no service pad" _
.
.
& Chr(13) & Chr(10) & "service Password - encryption") & Chr(13) & Chr(10)

Je ne garanti pas que ça marche mais ne coute rien d'assayer.

Répondre à amigo

2

 lml-mike, le 25 fév 2008 à 10:37:33
  • +2

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

Répondre à lml-mike