Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Concaténation de chaines

8 réponses
Avatar
Isa
Bonjour,

Je souhaite extraire une requête en un fichier .txt.

J'utilise le commande TransferText et dans le nom de fichier destination, je
mets :
"F:\DossierGeneral\Bilans\ESSAI_projet." & Format(v_nouv_num_fich, "00000")
& ".txt"
Je devrais obtenir comme résultat
"F:\DossierGeneral\Bilans\ESSAI_projet.00001.txt"
et j'obtiens "F:\DossierGeneral\Bilans\ESSAI_projet#00001.txt", le point se
transforme en dièse.
Avez-vous une idée du problème ?
Merci.

8 réponses

Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

Bizarre
En utilisant une variable intermédiaire ?

ceci fonctionne :

Dim v_nouv_num_fich As Long
Dim sFichier As String
v_nouv_num_fich = 1
sFichier = "F:DossierGeneralBilansESSAI_projet." &
Format(v_nouv_num_fich, "00000") & ".txt"
Debug.Print sFichier

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

Bonjour,

Je souhaite extraire une requête en un fichier .txt.

J'utilise le commande TransferText et dans le nom de fichier destination,
je
mets :
"F:DossierGeneralBilansESSAI_projet." & Format(v_nouv_num_fich,
"00000")
& ".txt"
Je devrais obtenir comme résultat
"F:DossierGeneralBilansESSAI_projet.00001.txt"
et j'obtiens "F:DossierGeneralBilansESSAI_projet#00001.txt", le point
se
transforme en dièse.
Avez-vous une idée du problème ?
Merci.


Avatar
Isa
Merci de votre réponse.

Si on fait votre solution (ou la mienne) et qu'on fait afficher le nom du
fichier, il y a bien un point.

Mais lorsqu'on exécute la commande TransferText, le fichier qui s'écrit sur
disque est du type "F:DossierGeneralBilansESSAI_projet#00001.txt", le
point se transforme en dièse.


"Blaise Cacramp" wrote:

Selon : Bonjour ou bonsoir

Bizarre
En utilisant une variable intermédiaire ?

ceci fonctionne :

Dim v_nouv_num_fich As Long
Dim sFichier As String
v_nouv_num_fich = 1
sFichier = "F:DossierGeneralBilansESSAI_projet." &
Format(v_nouv_num_fich, "00000") & ".txt"
Debug.Print sFichier

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

> Bonjour,
>
> Je souhaite extraire une requête en un fichier .txt.
>
> J'utilise le commande TransferText et dans le nom de fichier destination,
> je
> mets :
> "F:DossierGeneralBilansESSAI_projet." & Format(v_nouv_num_fich,
> "00000")
> & ".txt"
> Je devrais obtenir comme résultat
> "F:DossierGeneralBilansESSAI_projet.00001.txt"
> et j'obtiens "F:DossierGeneralBilansESSAI_projet#00001.txt", le point
> se
> transforme en dièse.
> Avez-vous une idée du problème ?
> Merci.


.



Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

1/ En supprimant les caractères spéciaux du nom de tes champs
si ça ne fonctionne toujours pas
2/ En réduisant tes noms de dossiers et de fichiers à la structure 8.3

Et à propos, j'ai appris il y a peu que le # n'est pas un dièse mais un
croisillon. Le dièse, les barres verticales sont bel et bien verticales, et
les horizontales obliques. Un petit peu de culture générale pour les
conversations de pendaison de crémaillères. ;-)

Bien entendu, pour ce problème bizarre, merci de nous tenir au courant

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

Merci de votre réponse.

Si on fait votre solution (ou la mienne) et qu'on fait afficher le nom du
fichier, il y a bien un point.

Mais lorsqu'on exécute la commande TransferText, le fichier qui s'écrit
sur
disque est du type "F:DossierGeneralBilansESSAI_projet#00001.txt", le
point se transforme en dièse.


"Blaise Cacramp" wrote:

Selon : Bonjour ou bonsoir

Bizarre
En utilisant une variable intermédiaire ?

ceci fonctionne :

Dim v_nouv_num_fich As Long
Dim sFichier As String
v_nouv_num_fich = 1
sFichier = "F:DossierGeneralBilansESSAI_projet." &
Format(v_nouv_num_fich, "00000") & ".txt"
Debug.Print sFichier

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

> Bonjour,
>
> Je souhaite extraire une requête en un fichier .txt.
>
> J'utilise le commande TransferText et dans le nom de fichier
> destination,
> je
> mets :
> "F:DossierGeneralBilansESSAI_projet." & Format(v_nouv_num_fich,
> "00000")
> & ".txt"
> Je devrais obtenir comme résultat
> "F:DossierGeneralBilansESSAI_projet.00001.txt"
> et j'obtiens "F:DossierGeneralBilansESSAI_projet#00001.txt", le
> point
> se
> transforme en dièse.
> Avez-vous une idée du problème ?
> Merci.


.





Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

il y a cette solution là :
http://www.self-access.com/forums/read.php?1,69280,69281#msg-69281

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

Merci de votre réponse.

Si on fait votre solution (ou la mienne) et qu'on fait afficher le nom du
fichier, il y a bien un point.

Mais lorsqu'on exécute la commande TransferText, le fichier qui s'écrit
sur
disque est du type "F:DossierGeneralBilansESSAI_projet#00001.txt", le
point se transforme en dièse.


"Blaise Cacramp" wrote:

Selon : Bonjour ou bonsoir

Bizarre
En utilisant une variable intermédiaire ?

ceci fonctionne :

Dim v_nouv_num_fich As Long
Dim sFichier As String
v_nouv_num_fich = 1
sFichier = "F:DossierGeneralBilansESSAI_projet." &
Format(v_nouv_num_fich, "00000") & ".txt"
Debug.Print sFichier

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

> Bonjour,
>
> Je souhaite extraire une requête en un fichier .txt.
>
> J'utilise le commande TransferText et dans le nom de fichier
> destination,
> je
> mets :
> "F:DossierGeneralBilansESSAI_projet." & Format(v_nouv_num_fich,
> "00000")
> & ".txt"
> Je devrais obtenir comme résultat
> "F:DossierGeneralBilansESSAI_projet.00001.txt"
> et j'obtiens "F:DossierGeneralBilansESSAI_projet#00001.txt", le
> point
> se
> transforme en dièse.
> Avez-vous une idée du problème ?
> Merci.


.





Avatar
Isa
J'ai vérifié mes formats et mes noms de champs => pas de problème

J'ai essayé de faire un TransferText d'un fichier nommé
"moi.lui.elle.nous.txt" et sur le disque ça donne "moi#lui#elle#nous.txt",
tous les points autres que celui de l'extension sont transformés.
J'en déduis qu'il ne faut donc pas de point dans les noms de fichiers, sauf
que je suis obligée d'en mettre un...

Je vais essayer de renommer le fichier après écriture sur disque, on verra
si ça marche.

"Blaise Cacramp" wrote:

Selon : Bonjour ou bonsoir

il y a cette solution là :
http://www.self-access.com/forums/read.php?1,69280,69281#msg-69281

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

> Merci de votre réponse.
>
> Si on fait votre solution (ou la mienne) et qu'on fait afficher le nom du
> fichier, il y a bien un point.
>
> Mais lorsqu'on exécute la commande TransferText, le fichier qui s'écrit
> sur
> disque est du type "F:DossierGeneralBilansESSAI_projet#00001.txt", le
> point se transforme en dièse.
>
>
> "Blaise Cacramp" wrote:
>
>> Selon : Bonjour ou bonsoir
>>
>> Bizarre
>> En utilisant une variable intermédiaire ?
>>
>> ceci fonctionne :
>>
>> Dim v_nouv_num_fich As Long
>> Dim sFichier As String
>> v_nouv_num_fich = 1
>> sFichier = "F:DossierGeneralBilansESSAI_projet." &
>> Format(v_nouv_num_fich, "00000") & ".txt"
>> Debug.Print sFichier
>>
>> Cdt, Blaise
>> ---- ---- ----
>>
>>
>> "Isa" a écrit dans le message de news:
>>
>> > Bonjour,
>> >
>> > Je souhaite extraire une requête en un fichier .txt.
>> >
>> > J'utilise le commande TransferText et dans le nom de fichier
>> > destination,
>> > je
>> > mets :
>> > "F:DossierGeneralBilansESSAI_projet." & Format(v_nouv_num_fich,
>> > "00000")
>> > & ".txt"
>> > Je devrais obtenir comme résultat
>> > "F:DossierGeneralBilansESSAI_projet.00001.txt"
>> > et j'obtiens "F:DossierGeneralBilansESSAI_projet#00001.txt", le
>> > point
>> > se
>> > transforme en dièse.
>> > Avez-vous une idée du problème ?
>> > Merci.
>>
>>
>> .
>>


.



Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

Ah bien oui : "moi.lui.elle.nous.txt" ne correspond pas à la règle 8.3
(avant Windows 95...) qui, pour rappel, consiste à 8 caractères max pour le
nom de fichier suivi *d'un **unique** point séparateur* de son extension de
3 caractères maximum.
Remplace les caractères spéciaux par un "_" (caractère de soulignement -
underscore), évite même le tiret "-", fuit comme la peste le tilde (~) ainsi
que les caractères accentués.

Pour ma part, même dans les formats longs des noms de fichiers, je considère
hérétiques les points comme composantes de ce nom.
C'est mon point de vue, on verra les réactions.


Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

J'ai vérifié mes formats et mes noms de champs => pas de problème

J'ai essayé de faire un TransferText d'un fichier nommé
"moi.lui.elle.nous.txt" et sur le disque ça donne "moi#lui#elle#nous.txt",
tous les points autres que celui de l'extension sont transformés.
J'en déduis qu'il ne faut donc pas de point dans les noms de fichiers,
sauf
que je suis obligée d'en mettre un...

Je vais essayer de renommer le fichier après écriture sur disque, on verra
si ça marche.

"Blaise Cacramp" wrote:

Selon : Bonjour ou bonsoir

il y a cette solution là :
http://www.self-access.com/forums/read.php?1,69280,69281#msg-69281

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

> Merci de votre réponse.
>
> Si on fait votre solution (ou la mienne) et qu'on fait afficher le nom
> du
> fichier, il y a bien un point.
>
> Mais lorsqu'on exécute la commande TransferText, le fichier qui s'écrit
> sur
> disque est du type "F:DossierGeneralBilansESSAI_projet#00001.txt",
> le
> point se transforme en dièse.
>
>
> "Blaise Cacramp" wrote:
>
>> Selon : Bonjour ou bonsoir
>>
>> Bizarre
>> En utilisant une variable intermédiaire ?
>>
>> ceci fonctionne :
>>
>> Dim v_nouv_num_fich As Long
>> Dim sFichier As String
>> v_nouv_num_fich = 1
>> sFichier = "F:DossierGeneralBilansESSAI_projet." &
>> Format(v_nouv_num_fich, "00000") & ".txt"
>> Debug.Print sFichier
>>
>> Cdt, Blaise
>> ---- ---- ----
>>
>>
>> "Isa" a écrit dans le message de news:
>>
>> > Bonjour,
>> >
>> > Je souhaite extraire une requête en un fichier .txt.
>> >
>> > J'utilise le commande TransferText et dans le nom de fichier
>> > destination,
>> > je
>> > mets :
>> > "F:DossierGeneralBilansESSAI_projet." & Format(v_nouv_num_fich,
>> > "00000")
>> > & ".txt"
>> > Je devrais obtenir comme résultat
>> > "F:DossierGeneralBilansESSAI_projet.00001.txt"
>> > et j'obtiens "F:DossierGeneralBilansESSAI_projet#00001.txt", le
>> > point
>> > se
>> > transforme en dièse.
>> > Avez-vous une idée du problème ?
>> > Merci.
>>
>>
>> .
>>


.





Avatar
Isa
Bonjour,

Je suis complêtement d'accord avec toi, et je ne mets jamais de "point" dans
les noms de mes fichiers mais là, c'est le client qui l'oblige...
Donc du coup, j'ai renommé le fichier après écriture sur disque avec la
fonction Name et ça fonctionne très bien.
Merci encore.

"Blaise Cacramp" wrote:

Selon : Bonjour ou bonsoir

Ah bien oui : "moi.lui.elle.nous.txt" ne correspond pas à la règle 8.3
(avant Windows 95...) qui, pour rappel, consiste à 8 caractères max pour le
nom de fichier suivi *d'un **unique** point séparateur* de son extension de
3 caractères maximum.
Remplace les caractères spéciaux par un "_" (caractère de soulignement -
underscore), évite même le tiret "-", fuit comme la peste le tilde (~) ainsi
que les caractères accentués.

Pour ma part, même dans les formats longs des noms de fichiers, je considère
hérétiques les points comme composantes de ce nom.
C'est mon point de vue, on verra les réactions.


Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

> J'ai vérifié mes formats et mes noms de champs => pas de problème
>
> J'ai essayé de faire un TransferText d'un fichier nommé
> "moi.lui.elle.nous.txt" et sur le disque ça donne "moi#lui#elle#nous.txt",
> tous les points autres que celui de l'extension sont transformés.
> J'en déduis qu'il ne faut donc pas de point dans les noms de fichiers,
> sauf
> que je suis obligée d'en mettre un...
>
> Je vais essayer de renommer le fichier après écriture sur disque, on verra
> si ça marche.
>
> "Blaise Cacramp" wrote:
>
>> Selon : Bonjour ou bonsoir
>>
>> il y a cette solution là :
>> http://www.self-access.com/forums/read.php?1,69280,69281#msg-69281
>>
>> Cdt, Blaise
>> ---- ---- ----
>>
>>
>> "Isa" a écrit dans le message de news:
>>
>> > Merci de votre réponse.
>> >
>> > Si on fait votre solution (ou la mienne) et qu'on fait afficher le nom
>> > du
>> > fichier, il y a bien un point.
>> >
>> > Mais lorsqu'on exécute la commande TransferText, le fichier qui s'écrit
>> > sur
>> > disque est du type "F:DossierGeneralBilansESSAI_projet#00001.txt",
>> > le
>> > point se transforme en dièse.
>> >
>> >
>> > "Blaise Cacramp" wrote:
>> >
>> >> Selon : Bonjour ou bonsoir
>> >>
>> >> Bizarre
>> >> En utilisant une variable intermédiaire ?
>> >>
>> >> ceci fonctionne :
>> >>
>> >> Dim v_nouv_num_fich As Long
>> >> Dim sFichier As String
>> >> v_nouv_num_fich = 1
>> >> sFichier = "F:DossierGeneralBilansESSAI_projet." &
>> >> Format(v_nouv_num_fich, "00000") & ".txt"
>> >> Debug.Print sFichier
>> >>
>> >> Cdt, Blaise
>> >> ---- ---- ----
>> >>
>> >>
>> >> "Isa" a écrit dans le message de news:
>> >>
>> >> > Bonjour,
>> >> >
>> >> > Je souhaite extraire une requête en un fichier .txt.
>> >> >
>> >> > J'utilise le commande TransferText et dans le nom de fichier
>> >> > destination,
>> >> > je
>> >> > mets :
>> >> > "F:DossierGeneralBilansESSAI_projet." & Format(v_nouv_num_fich,
>> >> > "00000")
>> >> > & ".txt"
>> >> > Je devrais obtenir comme résultat
>> >> > "F:DossierGeneralBilansESSAI_projet.00001.txt"
>> >> > et j'obtiens "F:DossierGeneralBilansESSAI_projet#00001.txt", le
>> >> > point
>> >> > se
>> >> > transforme en dièse.
>> >> > Avez-vous une idée du problème ?
>> >> > Merci.
>> >>
>> >>
>> >> .
>> >>
>>
>>
>> .
>>


.



Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

Faut savoir dire non au client, en objectivant. C'est ce qu'on appelle de
l'assertivité ;-)

Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

Bonjour,

Je suis complêtement d'accord avec toi, et je ne mets jamais de "point"
dans
les noms de mes fichiers mais là, c'est le client qui l'oblige...
Donc du coup, j'ai renommé le fichier après écriture sur disque avec la
fonction Name et ça fonctionne très bien.
Merci encore.

"Blaise Cacramp" wrote:

Selon : Bonjour ou bonsoir

Ah bien oui : "moi.lui.elle.nous.txt" ne correspond pas à la règle 8.3
(avant Windows 95...) qui, pour rappel, consiste à 8 caractères max pour
le
nom de fichier suivi *d'un **unique** point séparateur* de son extension
de
3 caractères maximum.
Remplace les caractères spéciaux par un "_" (caractère de soulignement -
underscore), évite même le tiret "-", fuit comme la peste le tilde (~)
ainsi
que les caractères accentués.

Pour ma part, même dans les formats longs des noms de fichiers, je
considère
hérétiques les points comme composantes de ce nom.
C'est mon point de vue, on verra les réactions.


Cdt, Blaise
---- ---- ----


"Isa" a écrit dans le message de news:

> J'ai vérifié mes formats et mes noms de champs => pas de problème
>
> J'ai essayé de faire un TransferText d'un fichier nommé
> "moi.lui.elle.nous.txt" et sur le disque ça donne
> "moi#lui#elle#nous.txt",
> tous les points autres que celui de l'extension sont transformés.
> J'en déduis qu'il ne faut donc pas de point dans les noms de fichiers,
> sauf
> que je suis obligée d'en mettre un...
>
> Je vais essayer de renommer le fichier après écriture sur disque, on
> verra
> si ça marche.
>
> "Blaise Cacramp" wrote:
>
>> Selon : Bonjour ou bonsoir
>>
>> il y a cette solution là :
>> http://www.self-access.com/forums/read.php?1,69280,69281#msg-69281
>>
>> Cdt, Blaise
>> ---- ---- ----
>>
>>
>> "Isa" a écrit dans le message de news:
>>
>> > Merci de votre réponse.
>> >
>> > Si on fait votre solution (ou la mienne) et qu'on fait afficher le
>> > nom
>> > du
>> > fichier, il y a bien un point.
>> >
>> > Mais lorsqu'on exécute la commande TransferText, le fichier qui
>> > s'écrit
>> > sur
>> > disque est du type
>> > "F:DossierGeneralBilansESSAI_projet#00001.txt",
>> > le
>> > point se transforme en dièse.
>> >
>> >
>> > "Blaise Cacramp" wrote:
>> >
>> >> Selon : Bonjour ou bonsoir
>> >>
>> >> Bizarre
>> >> En utilisant une variable intermédiaire ?
>> >>
>> >> ceci fonctionne :
>> >>
>> >> Dim v_nouv_num_fich As Long
>> >> Dim sFichier As String
>> >> v_nouv_num_fich = 1
>> >> sFichier = "F:DossierGeneralBilansESSAI_projet." &
>> >> Format(v_nouv_num_fich, "00000") & ".txt"
>> >> Debug.Print sFichier
>> >>
>> >> Cdt, Blaise
>> >> ---- ---- ----
>> >>
>> >>
>> >> "Isa" a écrit dans le message de
>> >> news:
>> >>
>> >> > Bonjour,
>> >> >
>> >> > Je souhaite extraire une requête en un fichier .txt.
>> >> >
>> >> > J'utilise le commande TransferText et dans le nom de fichier
>> >> > destination,
>> >> > je
>> >> > mets :
>> >> > "F:DossierGeneralBilansESSAI_projet." &
>> >> > Format(v_nouv_num_fich,
>> >> > "00000")
>> >> > & ".txt"
>> >> > Je devrais obtenir comme résultat
>> >> > "F:DossierGeneralBilansESSAI_projet.00001.txt"
>> >> > et j'obtiens "F:DossierGeneralBilansESSAI_projet#00001.txt",
>> >> > le
>> >> > point
>> >> > se
>> >> > transforme en dièse.
>> >> > Avez-vous une idée du problème ?
>> >> > Merci.
>> >>
>> >>
>> >> .
>> >>
>>
>>
>> .
>>


.