Nom fichier variable

Bonjour l'équipe du forum,

Voilà mon problème :

Pour mon travail, je dois faire une extraction depuis un SharePoint afin de faire ressortir des données importantes.

Donc, je fais une extraction du fichier téléchargé pour les incorporer dans mon autre fichier qui va me servir, mais voila, parfois, même souvent, le fichier téléchargé ne garde pas le même nom.

'Copie tableau extraction share
Application.Goto _
Workbooks("Classeur1").Sheets("owssvr").Range("Tableau_owssvr")
ActiveSheet.Range("Tableau_owssvr").Copy

Le "Classeur1" peut parfois s'appeler "Classeur2" voir 3 ....

Existe t'il un moyen pour que je puisse récupérer les données malgré un nom différent ?

Existe t'il aussi un autre moyen pour le nom du tableau, parfois, il peut aussi s'appeler "Tableau_owssvr_1" à la place de "Tableau_owssvr"

D'avance, merci pour votre aide.

Bonjour,

Il y a moyen en ne faisant pas référence au nom de la feuille, mais à son numéro.

Range("Tableau_owssvr")

Est-ce un tableau structuré ? Si oui, un fichier Excel ne peut de toute façon pas avoir 2 tableaux structurés portant le même nom. Indiquer le nom de la feuille n'est pas pas nécessaire dans l'absolu. S'il s'agit d'un tableau structuré, tu dois pouvoir modifier ainsi s'il est toujours sur la même feuille :

Workbooks("Classeur1").feuil1.listobjects(1).Copy

Si le numéro de la feuille change d'un fichier à l'autre, tu dois pouvoir faire ainsi :

Workbooks("Classeur1").Range("Tableau_owssvr").Copy

Pour ce qui est du classeur, Excel n'étant pas medium, il faudra lui indiquer le nom quelque part. Soit dans une cellule de ton fichier contenant la macro, soit via une textbox.

Bonjour JoyeuxNoel,

Merci pour ta réponse.

Alors j'ai modifié ton code ainsi :

'Copie tableau extraction share
Application.Goto _
Workbooks("Classeur7").Activate
With Sheets(1).ListObjects(1)
If Not .DataBodyRange Is Nothing Then .DataBodyRange.Copy
End With

ça marche nickel.

Pour ta question, c'est un tableau structuré avec une seul feuille, mais ça change pas mon problème de nom de classeur.

Je vais essayé ton idée avec une TextBox, tu sais comment la faire apparaître pour lui mettre le nom du fichier ?

J'ai aussi penser à faire un concatener

Workbooks("Classeur&"*"").Activate

Mais ça marche pas, ou alors je ne mets pas correctement les "

Oui effectivement il devait falloir rajouter le .databodyrange pour que ça fonctionne. Je n'avais pas de fichier sous la main pour tester.

Pour ce qui est de la textbox (inputbox en fait ici), c'était une idée comme ça. Je ne vois pas ça comme étant forcément plus pratique que d'inscrire le nom du tableau dans une cellule.

Mais sinon, tu peux faire un truc du genre:

Dim fichier As String
fichier = InputBox("Quel est le nom du fichier ?", "Nom du fichier")
Workbooks(fichier).Activate

Merci pour ton aide précieuse.

Quant tu as dis TextBox, j'ai bien pensé que tu voulais plutôt dire inputbox.

Je vais utiliser cette méthode un moment pour voir si c'est ok et si jamais je vais faire avec une cellule nommée..

Encore merci et Joyeux Nöel, JoyeuxNoel

Rechercher des sujets similaires à "nom fichier variable"