Probleme avec PATH

Fermé
simkmil Messages postés 467 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 17 novembre 2024 - 9 nov. 2020 à 12:05
yg_be Messages postés 23333 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 - 21 nov. 2020 à 16:12
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 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
9 nov. 2020 à 12:24
Bonjour,
Chemin = ThisWorkbook.Path \ Desktop \ ArchivageFactures \ NomDossier \ ""

Apres
ThisWorkbook.Path
mettre un espace & un espace et le reste entre "".
1
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 467 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 17 novembre 2024 35 > Simkmil
9 nov. 2020 à 15:41
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
9 nov. 2020 à 16:28
Bonjour,

comme ceci:

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

0
Utilisateur anonyme
Modifié le 9 nov. 2020 à 19:10
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 23333 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
Modifié le 9 nov. 2020 à 19:14
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 467 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 17 novembre 2024 35
10 nov. 2020 à 19:59
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 23333 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551 > simkmil Messages postés 467 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 17 novembre 2024
10 nov. 2020 à 20:09
tu ne nous montres pas où se trouve le classeur contenant la macro.
0
yg_be Messages postés 23333 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551 > simkmil Messages postés 467 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 17 novembre 2024
21 nov. 2020 à 16:12
peux-tu marquer la discussion comme résolue?
0