Téléchargement
illégal
Posez votre question Signaler

[VBA] copier variable dans presse-papiers [Résolu]

lml-mike 354Messages postés 16 février 2007Date d'inscription 8 avril 2012Dernière intervention - Dernière réponse le 25 févr. 2008 à 10:37
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 !!!
Lire la suite 

[VBA] copier variable dans presse-papiers »

2 réponses
Réponse
+5
moins plus
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
Ajouter un commentaire
Réponse
+2
moins plus
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.
Ajouter un commentaire
Ce document intitulé « [VBA] copier variable dans presse-papiers » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?