| ||||||||
Astucien | Bonsoir en excel VBA J'ai 2 classeurs d'ouverts et travaille uniquement sur un , l'autre je vais rechercher des informations . Le classeur sur lequel je travaille est activer et je peux récupérer son nom Mais comment faire pour le 2 ème classeur qui lui n'est pas activé pour récupérer son nom Merci | |||||||
Publicité | ||||||||
Equipe PC Astuces | Bonjour, Le sujet a été déplacé par la modération dans un forum plus adéquat. Vous pouvez continuer la discussion à la suite. A bientôt. | |||||||
![]() ![]() | bonjour une piste
| |||||||
![]() ![]() | Salut, Je dois être mal réveillé aujourd'hui mais ta question m'échappe Par exemple: nomwb1 = ThisWorkbook.Name [ça c'est le nom du classeur qui contient le code] For Each wb In Application [et tu auras récupéré le nom du second]. La meilleure méthode dépend de ce que tu veux faire ensuite. Pour les utiliser, tu n'as même pas besoin du nom, tu peux affecter le classeur à une variable objet... Dim monwbk As Workbook [Tu disposes alors de ThisWorkbook et monwbk pour manipuler chaque classeur] | |||||||
![]() | Bonjour, Oui, un peu plus d'info sur le Pourquoi/Comment du besoin aurait simplifié les choses. Si tu veux juste récupérer le nom, tu peux te contenter de : Sub test() A+ | |||||||
Astucien | merci à vous ,ça marche un peu de précision ,les 2 classeurs sont ouverts à la main l'un après l'autre (c'est pas pour moi) j'ai le classeur code qui ne se nomme pas toujours pareil et l'autre lequel je voulais qu'il soit renommer (donc pas toujours le même nom ). avant votre intervention j'étais oblihé de nommer toujours pareil Merci à vous , j'ai pris la solution de galopin01 ,celle de ferrand ne fonctionnait pas (erreur:compilation référence incorrecte ou non qualifiée).C'est peut-être de ma faute je suis débutant dans VBA @+
| |||||||
![]() ![]() | Salut, celle de ferrand ne fonctionnait pas (erreur:compilation référence incorrecte ou non qualifiée). Laquelle ? Galopin (qui très souvent anticipe) t'a fourni une macro complète. Il n'y a qu'à la recopier en bloc et aucune raison pour que cela ne marche pas. Ce n'est pas mon cas (je ne le fais en général jamais tant que je ne sais pas avec certitude où l'on va), les bribes de code que j'ai glissées, il fallait les compléter pour en faire des macros qui fonctionnent. Sa macro pouvait t'y aider, elle est proche de ma première "solution" sur le fond et de la seconde sur la forme (j'ai mis solution entre guillemets car je ne prétend pas en avoir donné). La bonne solution pour toi sera évidemment celle qui te convient le mieux à l'usage. Si l'objectif est de renommer le second classeur, je maintiens que tu n'as nul besoin de connaître son nom pour le faire. Sub test() Cette adaptatation de la macro de Galopin enregistrera le classeur sous un nouveau nom (remplacer NouveauNom par le nom souhaité) dans le dossier contenant le premier classeur (si on veut l'enregistrer ailleurs, remplacer ThisWorkbook.Path par le chemin du dossier voulu). | |||||||
Astucien | Re excuses moi,mais comme je n'y connais pas trop ,je prends ce qui fonctionne.et je ne pouvais pas ajouter ou retirer quelque-chose .Je m'en sors avec les macros car j'ai compris que je pouvais programmer en basic .sinon VBA c'est difficile pour moi .Mais j'y arriverai un jour MDR Nota:je ne veux pas les renommer ils y sont déja ,6 en tout en plus de l'autre classeur merci aussi à toi de m'avoir répondu @+
| |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|