Probleme avec PATH

simkmil Messages postés 504 Statut Membre -  
yg_be Messages postés 24281 Statut Contributeur -
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 17413 Statut Membre 1 715
 
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 504 Statut Membre 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 8437 Statut Contributeur 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 24281 Statut Contributeur Ambassadeur 1 584
 
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 504 Statut Membre 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 24281 Statut Contributeur 1 584 > simkmil Messages postés 504 Statut Membre
 
tu ne nous montres pas où se trouve le classeur contenant la macro.
0
yg_be Messages postés 24281 Statut Contributeur 1 584 > simkmil Messages postés 504 Statut Membre
 
peux-tu marquer la discussion comme résolue?
0