Probleme avec PATH

simkmil Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je voudrais remplacer une ligne de mon prog afin de pouvoir le faire fonctionner sur plusieurs PC sans pour cela devoir changer la programmation VBA.

actuellement, j'ai :
NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")

Chemin = "C:\Users\bs382\Desktop\ArchivageFactures\" & NomDossier & "\"
et cela fonctionne !
j'aimerais remplacer le chemin par quelque chose dans le genre de :

Chemin = ThisWorkbook.Path \ Desktop \ ArchivageFactures \ NomDossier \ ""
mais écrit comme cela ça ne fonctionne pas.
Pouvez vous m'aider ?
d'avance je vous en remercie.
prenez soin de vous !

4 réponses

f894009 Messages postés 17272 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,
Chemin = ThisWorkbook.Path \ Desktop \ ArchivageFactures \ NomDossier \ ""

Apres
ThisWorkbook.Path
mettre un espace & un espace et le reste entre "".
1
Simkmil
 
Merci beaucoup,
je vais essayer . Si je comprends bien, je dois mettre chaque expression entre "" ?
cela donnerait :
Chemin = ThisWorkbook.Path & \ "Desktop" \ "ArchivageFactures" \" NomDossier" \ ""

je vais essayer de cette façon.
Merci
0
simkmil Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   35 > Simkmil
 
Re-Bonjour
et ça ne fonctionne pas encore ! cette fois, j'ai une erreur "13" incompatibilité de type !
je ne comprends pas .

Merci
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

comme ceci:

ThisWorkbook.Path & " \ Desktop \ ArchivageFactures \"  &  NomDossier  & " \ "

0
Utilisateur anonyme
 
Bonsoir simkmil.

Bonsoir f et le pivert

Pour les prochaines fois où tu posteras du code, merci de lire jusqu'au bout et d'appliquer la petite explication disponible à cette adresse https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Cet outil permet entre autre une lecture plus facile pour celui qui pourrait répondre et donc lui donner plus envie de lire ton sujet plutôt qu'un autre.

Mais ça aide aussi le demandeur, et oui!

En VBA un chemin, c'est une string, et une string c'est rouge.

Quand ton code est posté comme ça
NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")

Chemin = "C:\Users\bs382\Desktop\ArchivageFactures\" & NomDossier & "\"
et cela fonctionne !
j'aimerais remplacer le chemin par quelque chose dans le genre de :

Chemin = ThisWorkbook.Path \ Desktop \ ArchivageFactures \ NomDossier \ ""

Il est difficile de voir ce qui coince.

Alors que là
NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")

Chemin = "C:\Users\bs382\Desktop\ArchivageFactures\" & NomDossier & "\"
et cela fonctionne !
j'aimerais remplacer le chemin par quelque chose dans le genre de :

Chemin = ThisWorkbook.Path \ Desktop \ ArchivageFactures \ NomDossier \ ""


on voit de suite que ton chemin en ligne 7 (oui ça met des numéros de lignes aussi, ce qui est pratique) n'est pas rouge.

Et pour ceci
Chemin = ThisWorkbook.Path & \ "Desktop" \ "ArchivageFactures" \" NomDossier" \ ""


les \ ne sont pas dans "le rouge"


Par contre toute la seconde partie du chemin proposé par le Pivert est rouge (même s'il a laissé trainé quelques espaces en rab ;) )
ThisWorkbook.Path & " \Desktop\ArchivageFactures\"  &  NomDossier  & "\ "


Il faut être attentif construit des string comme ça, un " mal placé et c'est la cata.

J'ai pas fait de VBA depuis bien longtemps, mais il me semble que dans l'éditeur, une string est rouge aussi, ça fait partie des aides que l'éditeur apporte (pas beaucoup en VBA (: )

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur
 
bonjour, le plus simple et le plus fiable, c'est de te positionner par rapport au dossier où se trouve le classeur contenant la macro.
est-ce possible?
tu nous montres où tu veux aller: C:\Users\bs382\Desktop\ArchivageFactures
tu ne nous montres pas où se trouve le classeur contenant la macro.
0
simkmil Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   35
 
merci, je ne comprends pas fort bien : vous montrer où je veux aller ?
je voulais aller au même endroit que mon "C:\Users...
mais sur un autre ordinateur.
En attendant, j'ai solutionné en mettant l'adresse réelle du second PC
merci encore.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   > simkmil Messages postés 481 Date d'inscription   Statut Membre Dernière intervention  
 
tu ne nous montres pas où se trouve le classeur contenant la macro.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   > simkmil Messages postés 481 Date d'inscription   Statut Membre Dernière intervention  
 
peux-tu marquer la discussion comme résolue?
0