Inserer une variable dans un texte.

cs_fredcad Messages postés 2 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 7 mai 2010 - 6 mai 2010 à 23:56
cs_fredcad Messages postés 2 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 7 mai 2010 - 7 mai 2010 à 18:31
Bonjour,

Débutant Visual Basic, j'ai un problème de retour à la ligne après une variable.
Je m?explique. Je souhaite générer un fichier texte de configuration dans lequel il y a des valeurs qui sont dans un tableau Excel qui doivent être insérées dans les lignes du fichier texte.
Mon objectif est d'écrire cette phrase :

(debut-de-phrase Variable-de-la-cellule).

J'ai choisi de mettre la valeur de la cellule Excel dans le presse-papier, puis mettre le contenu du presse-papier dans une variable « Valeur », puis d'écrire ma ligne du fichier texte de configuration en créant une variable « S1 » contenant le début de ma phrase, une nouvelle variable « result » qui sera la concaténation de S1 & Valeur & ).
Mon problème c'est que la parenthèse ce retrouve à la ligne suivante comme ci-dessous.

(debut-de-phrase Variable-de-la-cellule
)

Il semblerait qu'après la variable « Valeur » dans la concaténation, il soit inséré un retour chariot automatiquement.
Y a t-il une solution pour éviter ça, ou une autre solution à mon problème.

Merci de venir à mon aide.

Cordialement.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
7 mai 2010 à 00:31
Salut
Et quel est ton code ?
Quelle technique d'écriture as-tu choisi : Print ou Write ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_fredcad Messages postés 2 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 7 mai 2010
7 mai 2010 à 18:31
Jack,

voici le code que j'ai écrit.

Sub ZoneTextePhysical()
' Ouvre le fichier tech.
Open "C:\SPB_Data\worklib\essai_1\physical\Physical.tech" For Output As #1
'Ecrit le texte.
Print #1, " (physicalSetName """ & "PAIRE_DIFF_100" & """)"
Print #1, "(lockFlag OFF)"
Print #1, "(viaList """ & "VIA_030_L1" & """ """ & "VICI80_TEST_BOTTOM" & ")"""
Print #1, "(physicalLayerGroup """ & "Top" & """"
' Remplace la cellule C3 avec le texte
OpenClipboard 0&
EmptyClipboard
CloseClipboard
'Mets le contenu de la cellule D3 dans le Presse Papier
Range("C3").Select
Selection.Copy
' Récupérer depuis le presse-papiers
Dim MyDataObj As New DataObject
Dim Valeur As String
MyDataObj.GetFromClipboard
Valeur = MyDataObj.GetText
Dim s1 As String
Dim result As String
result = ""

s1 = "(minLineWidth "
result = s1 & Valeur & ")"
MsgBox result
Print #1, result
Close
Open "C:\SPB_Data\worklib\essai_1\physical\Physical.tech" For Input As #1
Dim monText As String
Chaine = shell("NotePad.exe C:\SPB_Data\worklib\essai_1\physical\Physical.tech", vbNormalFocus)
Close
End Sub

ci dessous le texte que je souhaite avoir:

(physicalSetName "PAIRE_DIFF_100"
(lockFlag OFF)
(viaList "VIA_030_L1" "VICI80_TEST_BOTTOM")
(physicalLayerGroup "TOP"
(minLineWidth 0.27)

Alors que mon résultat donne ceci:

(physicalSetName "PAIRE_DIFF_100")
(lockFlag OFF)
(viaList "VIA_030_L1" "VICI80_TEST_BOTTOM)"
(physicalLayerGroup "Top"
(minLineWidth 0.27
)

Mon problème est la dernière parenthèse qui ce retrouve à la ligne.

Merci de venir à mon aide.
Cordialement.
0
Rejoignez-nous