VBA ouvrir un classeur sans avoir son nom

Bonjour,

Je reçois des classeurs toutes les semaines. Ces classeurs n'ont pas de nom définis.

Je souhaiterais placer ce classeur dans un fichier toutes les semaines et qu'une macro me l'ouvre, copie les colonnes que j'ai choisies et les colles dans un nouveau classeur qui sera nommé en fonction d'une valeur de ce classeur.

La seul chose me bloquant est d'ouvrir un classeur sans savoir son nom et de réussir à travailler dessus

Sauriez vous comment faire?

Merci d'avance

Bonsoir,

Si tu le reçois, je ne vois pas où est le problème ?

Tu l'as donc en main !

Le probleme est que comme chaque fichier que j ajouterais chaque semaine à un nom différent je ne vais pas modifier la macro toutes les semaines pour modifier le nom ... le fichier peut avoir n'importe quelle dénomination et je ne peux pas imposer à l'envoyeur un format de nom spécial...

Le contenu de chaque fichier nom des colonnes et emplacements seront eux tous à chaque fois identique donc je veux que peux importe le classeur place dans le fichier le travail soit identique


Je viens de trouver une autre méthode qui serait sûrement plus simple et dans ce cas il me faudrait savoir comment ouvrir tous les classeurs d'un fichier (en même temps) puis les refermer juste le temps que des liaisons soient mises à jour?

Je veux bien croire que si tu recevais une multitude de fichier par un même envoi, l'identification du seul qui t'intéresse dans le lot peut éventuellement poser quelque problème... mais recevant un seul fichier tu as tout loisir de l'identifier, le renommer (et donc lui donner le nom avec lequel tu l'ouvriras !) ou le placer seul dans un dossier dédié (ou donc tu pourras aller le chercher pour l'ouvrir sans te préoccuper de son nom)...

Bref ! tu peux même l'ouvrir à réception et le traiter dans la foulée (là même plus besoin de l'ouvrir !)

Cordialement.

Bonjour,

Je fais face au même soucis, le fait est que la personne qui ouvre ce fichier n'est pas moi et je ne peux pas imposer non plus un naming pour le fichier.

Ce que je cherche est un code me permettant de déclarer le classeur hôte de la macro sous un nom commun "NomFichier" par exemple et ensuite de pouvoir l'utiliser sans soucis.

J'ai essayé ça pour l'instant :

Dim NomFichier As String

NomFichier = ThisWorkbook.FullName

NomFichier.Activate

Et je reçois un message d'erreur "erreur de compilation" sur la dernière ligne. J'ai essayé de l'appeller de plusieurs manières mais rien n'y fais.

Quelqu'un à la solution ?

Merci

Tu dois te tromper de fichier, car le fichier que tu veux repérer, tu n'y a pas encore mis de macro dedans !

Or ThisWorkbook est toujours le classeur contenant la macro en train de s'exécuter, donc le fichier avec lequel tu veux ouvrir l'autre...

Cordialement.

Je' ne comprends pas bien ta réponse, si le fichier que je veux réperer est celui où est la macro, c'est ce fichier qui change de nom.

L'autre fichier sert juste à récupérer les infos et il ne change jamais de nom.

Compte tenu de ton autre sujet je ne te suis plus ! Tu veux atteindre un classeur qui contient déjà une macro ? Ce n'est plus très clair.

Mais traite l'affaire sur ton propre sujet, ce sera plus correct.

Rechercher des sujets similaires à "vba ouvrir classeur nom"