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

Chaîne de caractère

13 réponses
Avatar
Jacques
Bonsoir,

Je voudrais remplacer ce code:

Excl.SaveAs "C:\Documents and Settings\Propri=E9taire\Mes documents\BASE
\Partie applicative\Dossier Excel\3=E8me Envoi.xls"

Par:

path =3D CurrentProject.path
Excl.SaveAs "path & " \ " & Dossier Excel\3=E8me Envoi.xls"

Merci de votre aide.

Salutations

10 réponses

1 2
Avatar
Willi2004
Bonsoir Jacques.
Qu'est-ce qui te pose problème?
Un peu plus d'explications pour éclairer davantage ceux qui voudraient
répondre.

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

Bonsoir,

Je voudrais remplacer ce code:

Excl.SaveAs "C:Documents and SettingsPropriétaireMes documentsBASE
Partie applicativeDossier Excel3ème Envoi.xls"

Par:

path = CurrentProject.path
Excl.SaveAs "path & " " & Dossier Excel3ème Envoi.xls"

Merci de votre aide.

Salutations
Avatar
Pierre CFI [mvp]
bonjour
plutot
Excl.SaveAs path & " Dossier Excel3ème Envoi.xls"


--
Pierre
MVP Access
***************************************
Conseils MPFA: http://www.mpfa.info/
*********************************************************
"Willi2004" a écrit dans le message de news:

Bonsoir Jacques.
Qu'est-ce qui te pose problème?
Un peu plus d'explications pour éclairer davantage ceux qui voudraient
répondre.

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

Bonsoir,

Je voudrais remplacer ce code:

Excl.SaveAs "C:Documents and SettingsPropriétaireMes documentsBASE
Partie applicativeDossier Excel3ème Envoi.xls"

Par:

path = CurrentProject.path
Excl.SaveAs "path & " " & Dossier Excel3ème Envoi.xls"

Merci de votre aide.

Salutations





Avatar
Jacques
On 11 août, 02:43, "Willi2004" wrote:
Bonsoir Jacques.
Qu'est-ce qui te pose problème?
Un peu plus d'explications pour éclairer davantage ceux qui voudraient
répondre.

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

Bonsoir,

Je voudrais remplacer ce code:

Excl.SaveAs "C:Documents and SettingsPropriétaireMes documentsBASE
Partie applicativeDossier Excel3ème Envoi.xls"

Par:

path = CurrentProject.path
Excl.SaveAs "path & " " & Dossier Excel3ème Envoi.xls"

Merci de votre aide.

Salutations


Bonsoir Willi

c'est cette ligne qui me pose problème:

Excl.SaveAs "path & " " & Dossier Excel3ème Envoi.xls"

Salutations

Avatar
Jacques
On 11 août, 11:01, "Pierre CFI [mvp]"
wrote:
bonjour
plutot
Excl.SaveAs path & " Dossier Excel3ème Envoi.xls"

--
Pierre
MVP Access
***************************************
Conseils MPFA:http://www.mpfa.info/
*********************************************************
"Willi2004" a écrit dans le message de news:




Bonsoir Jacques.
Qu'est-ce qui te pose problème?
Un peu plus d'explications pour éclairer davantage ceux qui voudraient
répondre.

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

Bonsoir,

Je voudrais remplacer ce code:

Excl.SaveAs "C:Documents and SettingsPropriétaireMes documentsBASE
Partie applicativeDossier Excel3ème Envoi.xls"

Par:

path = CurrentProject.path
Excl.SaveAs "path & " " & Dossier Excel3ème Envoi.xls"

Merci de votre aide.

Salutations- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Bonsoir Pierre.

Non ça ne fonctionne pas de cette façon.

Salutations


Avatar
Willi2004
Et avec ceci?
Excl.SaveAs "path & "Dossier Excel3ème Envoi.xls""

Ou encore cela?
Excl.SaveAs "path & "" & "Dossier Excel3ème Envoi.xls""


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

On 11 août, 02:43, "Willi2004" wrote:
Bonsoir Jacques.
Qu'est-ce qui te pose problème?
Un peu plus d'explications pour éclairer davantage ceux qui voudraient
répondre.

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

Bonsoir,

Je voudrais remplacer ce code:

Excl.SaveAs "C:Documents and SettingsPropriétaireMes documentsBASE
Partie applicativeDossier Excel3ème Envoi.xls"

Par:

path = CurrentProject.path
Excl.SaveAs "path & " " & Dossier Excel3ème Envoi.xls"

Merci de votre aide.

Salutations


Bonsoir Willi

c'est cette ligne qui me pose problème:

Excl.SaveAs "path & " " & Dossier Excel3ème Envoi.xls"

Salutations

Avatar
Gloops
Willi2004 a écrit, le 12/08/2007 00:07 :
Et avec ceci?
Excl.SaveAs "path & "Dossier Excel3ème Envoi.xls""

Ou encore cela?
Excl.SaveAs "path & "" & "Dossier Excel3ème Envoi.xls""

Bonjour,


Tu me diras qu'on est Dimanche et que je ne suis donc peut-être pas trè s
réveillé, mais franchement, non, qu'est-ce que ce guillemet fait deva nt
path, je ne vois pas du tout.

Et pourquoi un double guillemet à la fin ?

Avatar
Gloops
Pierre CFI [mvp] a écrit, le 11/08/2007 11:01 :
bonjour
plutot
Excl.SaveAs path & " Dossier Excel3ème Envoi.xls"




Salut,

Il y a des chances que ça marche mieux en enlevant l'espace devant
Dossier, et en s'assurant que path ne se termine pas par un "", auquel
cas il y aurait lieu de ne pas en ajouter un autre.


Donc, quelque chose comme :

strChemin = path + iif(right$(path, 1) = "", "", "") + _
"Dossier Excel3ème Envoi.xls"

La coupure de ligne ne sera peut-être pas indispensable une fois sorti
du newsgroup.

Attention, je n'ai pas épuisé le sujet : il reste le cas où path es t
vide, et il convient encore de distinguer celui où path contient le
chemin vers la racine d'un disque (a priori, Len(path) = 3 si on a
"C:"), et encore le cas du chemin UNC (serveurdomaine)

Ensuite dans certains contextes il y a lieu de doubler systématiquement
les barres inverses, mais il ne me semble pas que le SaveAs soit concerné .

Ou alors, vous avez tous plaisanté et je suis tombé dans le panneau ?=

Avatar
Willi2004
Bonjour Gloops.
Le guillemet de la fin, c'est pour fermer le guillemet devant path.
On pourrait aussi écrire:
Excl.SaveAs "path" & "Dossier Excel3ème Envoi.xls"

Ou encore:
Excl.SaveAs "path" & "" & "Dossier Excel3ème Envoi.xls"

Enfin, Jacques va tester et nous rendre compte.

et en s'assurant que path ne se termine pas par un "", auquel
cas il y aurait lieu de ne pas en ajouter un autre.



Il me semble que CurrentProject.Path renvoie une chaîne de caractères ne se
terminant pas par un "".

qu'est-ce que ce guillemet fait devant
path, je ne vois pas du tout.



Dans la formule que Jacques voudrait remplacer, qui marche apparemment et
que je rappelle:

Excl.SaveAs "C:Documents and SettingsPropriétaireMes documentsBASE
Partie applicativeDossier Excel3ème Envoi.xls"

la chaîne de caractères venant après SaveAs est bien encadrée par des
guillemets.


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

Willi2004 a écrit, le 12/08/2007 00:07 :
Et avec ceci?
Excl.SaveAs "path & "Dossier Excel3ème Envoi.xls""

Ou encore cela?
Excl.SaveAs "path & "" & "Dossier Excel3ème Envoi.xls""

Bonjour,


Tu me diras qu'on est Dimanche et que je ne suis donc peut-être pas très
réveillé, mais franchement, non, qu'est-ce que ce guillemet fait devant
path, je ne vois pas du tout.

Et pourquoi un double guillemet à la fin ?


Avatar
Gloops
Willi2004 a écrit, le 12/08/2007 13:01 :
Bonjour Gloops.
Le guillemet de la fin, c'est pour fermer le guillemet devant path.
On pourrait aussi écrire:
Excl.SaveAs "path" & "Dossier Excel3ème Envoi.xls"

Ou encore:
Excl.SaveAs "path" & "" & "Dossier Excel3ème Envoi.xls"


Oui, d'accord, mais si on a un répertoire qui s'appelle "path", utilisé
en chemin relatif sur le chemin par défaut, à quoi bon une concatén ation ?

Il suffirait alors de dire "pathDossier Excel3ème Envoi.xls"
et là, si ça ne marche pas, c'est que le chemin par défaut n'a pas bien
été sélectionné au préalable.

Pour appeler un répertoire comme ça, il faut franchement être sûr de soi
(et des autres utilisateurs du système) sur la manipulation des syntaxe s.



Enfin, Jacques va tester et nous rendre compte.


Absolument.


et en s'assurant que path ne se termine pas par un "", auquel
cas il y aurait lieu de ne pas en ajouter un autre.



Il me semble que CurrentProject.Path renvoie une chaîne de caractèr es ne se
terminant pas par un "".


J'avoue que j'avais oublié qu'il s'agissait d'une variable réservée .
Disons que ça simplifie un peu. On teste la condition une fois pour
toutes avant d'écrire la formule, au lieu de la tester à l'exécutio n.

Mon Access est sur une autre machine, alors je te fais confiance, path
se termine par un "", donc
SaveAs path + "Dossier Excel3ème Envoi.xls"

c'est si on n'avait pas eu de barre inverse à la fin de path qu'on
aurait écrit
Excl.SaveAs path + "Dossier Excel3ème Envoi.xls"

ceci signifie que le répertoire où se trouve la base Access contient un
sous-répertoire DossierExcel, dans lequel on sauvegarde un fichier
3èmeEnvoi.xls

En toute rigueur, si la commande SaveAs porte sur un objet Excel, la
discussion aurait plutôt eu sa place dans
microsoft.public.fr.excel

sauf à avoir un doute sur le contenu de la variable path, qui se trouve
être une propriété de la base Access.


qu'est-ce que ce guillemet fait devant
path, je ne vois pas du tout.



Dans la formule que Jacques voudrait remplacer, qui marche apparemment et
que je rappelle:

Excl.SaveAs "C:Documents and SettingsPropriétaireMes documentsBAS E
Partie applicativeDossier Excel3ème Envoi.xls"


Si je lis bien, en donnant un chemin absolu (c'est-à-dire démarrant à la
racine du disque) ça fonctionne (ce qui élimine le problème de maté riel
ou de droits d'accès), mais il a un problème avec la syntaxe démarr ant
au répertoire de la base (c'est-à-dire dans l'exemple, "C:Documents and
SettingsPropriétaireMes documentsBASEPartie applicative"), et pour
parler franchement en regardant cette syntaxe avec le path derrière un
guillemet je me demande comment il aurait pu ne pas avoir de problème.


la chaîne de caractères venant après SaveAs est bien encadrée p ar des
guillemets.



C'est bien aussi pour ça que c'est après avoir mis en cause le guille met
devant path que j'ai mis en cause le double guillemet à la fin ;)



Avatar
Gloops
Gloops a écrit, le 12/08/2007 14:39 :
SaveAs path + "Dossier Excel3ème Envoi.xls"


Là, j'ai fait confiance pour préfixer comme il faut.
Après toutes ces histoires de guillemets, c'est un peu léger de ma pa rt.

Alors donc, une fois constaté que path se termine par une barre inverse ,
je voulais dire :

Excl.SaveAs CurrentDb().path + "Dossier Excel3ème Envoi.xls"

étant entendu que Excl est supposé être un objet Excel ouvert au
préalable par une commande Automation.

Ah oui maintenant on dit CurrentProject à la place de CurrentDb() ?
Bon, question de version d'Access ...

Donc on sauvegarde le fichier Excel, qui peut se trouver n'importe où,
vers le sous-répertoire "Dossier Excel" du répertoire où se trouve la
base de données où on écrit le code (ou le projet qu'elle constitue ,
selon la version).

1 2