Microsoft 365 problème CHDIR

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

phil75016

XLDnaute Occasionnel
Bonjour j'ai beaucoup de macros avec l'instruction ChDir et depuis que l'on m'a changé mon ordi toutes mes macros qui contiennent cette instruction plantent. Ce que je ne comprends pas c'est que des collègues qui sont sensés avoir le même PC n'ont pas de plantage. D'où cela peut il venir? Est-ce une option? une version d'excel? J'ai ceci : Microsoft® Excel® pour Microsoft 365 MSO (Version 2507 Build 16.0.19029.20136) 64 bits
Je vous remercie car je suis dans la panade si je dois réécrire toutes mes macros.
 
Si, tout à fait, même que ça reprenait ce que je disais déjà en #6. 👻
Bonjour @TooFatBoy🙂,

Je suis confus 🙁 vis à vis de toi car je n'avais pas bien saisi ton message #6 qui évoquait déjà ce problème (rendons à César ce qui app...). Je ne recommencerai pas. Enfin peut-être que si car je suis un adepte invétéré de la lecture en diagonale😜.

Bonne soirée.
 
ma fois je sais pas tu nous dit que ça marchait avant tel que tu nous l'a présenté (2 fois + ou - la même selon toi )
nous on te dit que c'est impossible
c'est comme si tu me jurais que les saucissons ça poussait sur les arbres
tu es conscient que non on est d'accords? 🙃

je vois inscrit depuis juillet 2006
ça veut dire que tu fait du vba passionnément ou par parcimonie depuis 19 ans
19 ans de pratique pour ne pas comprendre les bases des plus basiques

je voulais donc dire par plan B faire du tricot, la pêche, la peinture bref tout a fait autre chose
par ce que pour le vba après 19 ans c'est mort là ça rentrera plus si ça n'est pas déjà rentré

dis nous textuellement ce que tu veux faire dans cette macro
avec un langage français , on te la fera et on ira plus vite

en l’occurrence en l’état il n'y a rien a corriger ,ce code n'a ni queue ni tête

si tu savais interpréter chaque bloc de ton code ,tu te rendrais compte que ça n'a pas de sens
Merci cher être supérieur. Dans le #16 il me semble avoir écrit en français ce que je dois faire mais ne perds pas de temps avec un nullos, pour moi la retraite arrive donc Vba je n'en aurai plus besoin. J'ai écrit beaucoup de macros en 19 ans qui ont toujours fonctionné même si ce n'est pas écrit dans les règles de l'art, d'ailleurs merci à ce forum.
 
Merci cher être supérieur. Dans le #16 il me semble avoir écrit en français ce que je dois faire mais ne perds pas de temps avec un nullos
Salut,
comme j'ai vu mon pseudo apparaître ici. j'en profite pour mettre mon grain de sel sur l'arbre à saucisson :
L'arbre à saucisson, également connu sous le nom de saucissonnier ou Kigelia africana, est un arbre de la famille des Bignoniaceae, originaire d'Afrique, notamment du Sénégal, et répandu dans de nombreuses régions tropicales du continent, allant de la Tanzanie au Botswana, en passant par le Zimbabwe et le nord de l'Afrique du Sud, où il est appelé worsboom par les Afrikaners.

Saucissonier.jpg
 
Dernière édition:
Salut,
comme j'ai vu mon pseudo apparaître ici. j'en profite pour mettre mon grain de sel sur l'arbre à saucisson :
L'arbre à saucisson, également connu sous le nom de saucissonnier ou Kigelia africana, est un arbre de la famille des Bignoniaceae, originaire d'Afrique, notamment du Sénégal, et répandu dans de nombreuses régions tropicales du continent, allant de la Tanzanie au Botswana, en passant par le Zimbabwe et le nord de l'Afrique du Sud, où il est appelé worsboom par les Afrikaners.
Là au moins c'est de l'humour !
 
bonjour,
comment j'ai dis dans ma première intervention, un code qui fonctionne sur une machine doit fonctionner sur une autre machine et peut importe si le code est académique ou pas. a moins qu'il s'agisse d'un problème environnementale d'excel et/ou Windows.

le code perseneté ne peut en occun cas fonctionner, et c'est peut-être là le nœud du problème.

j'invite phil75016 , s'il en a la possibilité, de retourner sur la machine ou la macro est sensé fonctionner afin d'en récupérer le code et de nous le présenter.

soit la macro que phil75016 a présenté est une ancienne version, ou il la modifié pour un nouvel usage, mais en l'état elle ne peut en aucun cas fonctionner.

notes cependant,que par chance pour les demandeurs, beaucoup de retraités sevicent sur ce forum.
 
Dernière édition:
le code perseneté ne peut en occun cas fonctionner, et c'est peut-être là le nœud du problème.
Je ne sais pas si tu parles du code de la macro de #7 ou de #22, mais dans les deux cas je ne vois pas ce qui peut l'empêcher de fonctionner.
Évidemment on n'est pas certain que le résultat obtenu soit celui attendu, mais les macros doivent s'exécuter, me semble-t-il. N'est-il pas ?
 
je parle du poste #3
OK, mais il ne faut pas tenir compte à 100 % de #3 puisqu'il a dit en #5 que son vrai code ne comportait pas la déclaration de la variable MONFICHIER.
Le vrai code de sa macro est donc celui de #7.

Donc, tu as raison #3 doit planter.
Mais #7 doit tourner sans toutefois être sûr que ça donne le bon résultat puisqu'on ne sait pas où est effectué le Dir.
 
bonjour,
comment j'ai dis dans ma première intervention, un code qui fonctionne sur une machine doit fonctionner sur une autre machine et peut importe si le code est académique ou pas. a moins qu'il s'agisse d'un problème environnementale d'excel et/ou Windows.

le code perseneté ne peut en occun cas fonctionner, et c'est peut-être là le nœud du problème.

j'invite phil75016 , s'il en a la possibilité, de retourner sur la machine ou la macro est sensé fonctionner afin d'en récupérer le code et de nous le présenter.

soit la macro que phil75016 a présenté est une ancienne version, ou il la modifié pour un nouvel usage, mais en l'état elle ne peut en aucun cas fonctionner.

notes cependant,que par chance pour les demandeurs, beaucoup de retraités sevicent

OK, mais il ne faut pas tenir compte à 100 % de #3 puisqu'il a dit en #5 que son vrai code ne comportait pas la déclaration de la variable MONFICHIER.
Le vrai code de sa macro est donc celui de #7.

Donc, tu as raison #3 doit planter.
Mais #7 doit tourner sans toutefois être sûr que ça donne le bon résultat puisqu'on ne sait pas où est effectué le Dir.
Figurez vous que je viens d'avoir une illumination, enfin diraient certains ! J'ai constaté que le lecteur par défaut a été configuré dans Excel comme pointant sur onedrive/documents car l’informaticien qui a changé mon PC a recopié mon lecteur MesDocuments sur onedrive. Je viens de changer mon lecteur par défaut en le faisant pointer sur le lecteur X et comme par magie mes macros fonctionnent sans rien changer ! Ouf! Je ne vois pas le rapport avec le bug mais il doit y avoir une explication ?Merci à tous ceux qui ont participé à cette discussion en voulant m'aider, c'est trop sympa et je vais en profiter pour faire certains changements en suivant certains conseils. Bonne fin de week-end.
 
à l'avenir je t'invite à définir le chemin complet de(s) éléments à retourner par le dir à savoir x:\repertore\*Fichier*.xls* par exemple

mais il est vrai que travailler en relatifs avec curdir c'est intéressant.

quand un code fonctionne sur un bécane il doit fonctionner sur toutes 😎

le répertoire courant sur ondrive et pas sur x: c'est ce que j'appel un problème d'environnement car il change le comportement d'excel en fonction de ce qui l'entoure ou de sa configuration alors que ça ne présente aucun problème sur les autres machines qui elles sont bien conforme.

a l'avenir si tu n'as pas de librairies manquantes dans le projet vb, ne cherche pas en priorité de bugs mais la différence entre les machines dans la configuration excel et Windows ne perds pas de vue que ton programme fonctionne sur d'autres machines.

le problème que tu viens de rencontrer ce reproduira surment à l'avenir.

si tu dois prendre ta retraite comme tu le faisais entendre, il est fort à parier que celui ou celle qui viendra à te succéder aura la même problématique.

met à profit le temps d'activités qui te reste pour recadrer tes codes.

maintenant n'oublie pas que les constantes t'éviteront d'initialiser en dur dans des méthodes qui ne présenteraient que peut d'intérêt.
 
Dernière édition:
Figurez vous que je viens d'avoir une illumination, enfin diraient certains ! J'ai constaté que le lecteur par défaut a été configuré dans Excel comme pointant sur onedrive/documents car l’informaticien qui a changé mon PC a recopié mon lecteur MesDocuments sur onedrive. Je viens de changer mon lecteur par défaut en le faisant pointer sur le lecteur X et comme par magie mes macros fonctionnent sans rien changer ! Ouf! Je ne vois pas le rapport avec le bug mais il doit y avoir une explication ?
C'est ce que je t'ai dit en #6 et qui a également été dit par plusieurs autres intervenants (voir #9, #10, ou encore #40). 😉

Est-ce que ça ne viendrait pas simplement de l'unité de stockage qui ne serait pas celle par défaut ?


Il faut toujours commencer par être certain d'être sur la bonne unité de stockage, donc on commence par un ChDrive qui fonctionnera même si on est déjà sur l'unité de stockage sur laquelle on veut aller.
Ensuite on peut changer de dossier avec un ChDir.
Là on est certain d'être au bon endroit et on peut alors faire le Dir("* - dossier comptable 2020.xlsm"). 😉

Autre remarque : il vaut mieux travailler de la même façon partout et non une fois en absolu et une fois en relatif, comme ça on est sûr de travailler au même endroit.
 
Dernière édition:
C'est ce que je t'ai dit en #6 et qui a également été dit par plusieurs autres intervenants (voir #9, #10, ou encore #40). 😉




Il faut toujours commencer par être certain d'être sur la bonne unité de stockage, donc on commence par un ChDrive qui fonctionnera même si on est déjà sur l'unité de stockage sur laquelle on veut aller.
Ensuite on peut changer de dossier avec un ChDir.
Là on est certain d'être au bon endroit et on peut alors faire le Dir("* - dossier comptable 2020.xlsm"). 😉

Autre remarque : il vaut mieux travailler de la même façon partout et non une fois en absolu et une fois en relatif, comme ça on est sûr de travailler au même endroit.
Désolé je n'avais pas compris ce que tu voulais dire mais je te remercie
Bonjour,


Est-ce que ça ne viendrait pas simplement de l'unité de stockage qui ne serait pas celle par défaut ?

Mais ça plante sur ChDir ou sur l'affectation de MONFICHIER ???

C'est ce que je t'ai dit en #6 et qui a également été dit par plusieurs autres intervenants (voir #9, #10, ou encore #40). 😉




Il faut toujours commencer par être certain d'être sur la bonne unité de stockage, donc on commence par un ChDrive qui fonctionnera même si on est déjà sur l'unité de stockage sur laquelle on veut aller.
Ensuite on peut changer de dossier avec un ChDir.
Là on est certain d'être au bon endroit et on peut alors faire le Dir("* - dossier comptable 2020.xlsm"). 😉

Autre remarque : il vaut mieux travailler de la même façon partout et non une fois en absolu et une fois en relatif, comme ça on est sûr de travailler au même endroit.
Désolé je n'avais pas compris ce que tu avais écrit en #6 mais en te relisant je comprends!!! Sorry
 
à l'avenir je t'invite à définir le chemin complet de(s) éléments à retourner par le dir à savoir x:\repertore\*Fichier*.xls* par exemple

mais il est vrai que travailler en relatifs avec curdir c'est intéressant.

quand un code fonctionne sur un bécane il doit fonctionner sur toutes 😎

le répertoire courant sur ondrive et pas sur x: c'est ce que j'appel un problème d'environnement car il change le comportement d'excel en fonction de ce qui l'entoure ou de sa configuration alors que ça ne présente aucun problème sur les autres machines qui elles sont bien conforme.

a l'avenir si tu n'as pas de librairies manquantes dans le projet vb, ne cherche pas en priorité de bugs mais la différence entre les machines dans la configuration excel et Windows ne perds pas de vue que ton programme fonctionne sur d'autres machines.

le problème que tu viens de rencontrer ce reproduira surment à l'avenir.

si tu dois prendre ta retraite comme tu le faisais entendre, il est fort à parier que celui ou celle qui viendra à te succéder aura la même problématique.

met à profit le temps d'activités qui te reste pour recadrer tes codes.

maintenant n'oublie pas que les constantes t'éviteront d'initialiser en dur dans des méthodes qui ne présenteraient que peut d'intérêt.
Merci, je vais essayer d'améliorer mes codes en suivant tes préconisations
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour