Renommer fichier après ouverture

Bonjour,

je suis bloquée sur une partie de mon code VBA.

Je souhaite dans un premier temps ouvrir un fichier (extraction SAP en format Excel) sur un serveur (ce fichier peut changer de nom, ce qui complique la chose => Ouverture de la boite de dialogue et non ouverture du fichier directement)

Ensuite, je voudrais renommer ce fichier ouvert par un nom "fichier1" pour ensuite le copier coller dans un onglet de ma base de données (BDD)

Etant donné que je dois réaliser ces étapes pour d'autres fichiers à ouvrir sur le même serveur, mais à coller dans un onglet différent de la base de données; j'aimerais que la macro automatise toutes ces étapes.

J'ai essayé le code suivant qui ne fonctionne pas :

[size=85]Sub Test1()

Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = False

Application.FileDialog(msoFileDialogFilePicker).Show

MsgBox Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)

Dim AncienNom As String, NouveauNom As String

AncienNom = (msoFileDialogFilePicker)

NouveauNom = "CJI3"

Name AncienNom As NouveauNom

End Sub[/size]

Pourriez-vous m'aider à résoudre mon problème ?

Un grand merci !

bonjour,

Tu ne peux pas renommer un fichier ouvert !

Tout au plus tu peux l'Enregistrer sous... un autre nom.

A+

Bonjour galopin01,

Merci pour ton retour, c’est bien ce que je pensais.

Je voulais faire ça car plusieurs personnes mettent à jour cette base de donnée et les fichiers à ouvrir n’en sont pas toujours enregistrés dans le bon format.. mauvais tiret etc.. c’etait Pour éviter ce genre de pb.

Aurais-tu une autre façon de contourner ça ?

Créer une msgBox “lancer la requête et l’enregistrer sous NOMPRECIS” ?

Bonne soirée

Bonjour,

Bah, tu fais pareil mais sans l'ouvrir.

Name, instruction

Voir aussi Exemple Particularités

Renomme un fichier, un répertoire ou un dossier sur un disque.

Syntaxe

Name oldpathname As newpathname

La syntaxe de l'instruction Name comprend les éléments suivants :

Élément Description

oldpathname Expression de chaîne indiquant le nom et le chemin du fichier. Cet argument peut contenir le répertoire ou dossier et le lecteur.

newpathname Expression de chaîne indiquant les nouveaux nom et chemin du fichier. Cet argument peut préciser le répertoire ou le dossier et le lecteur. Le nom de fichier indiqué dans l'argument newpathname ne peut pas correspondre à un fichier existant.

Remarques

L'instruction Name renomme un fichier et le déplace le cas échéant vers un nouveau répertoire ou dossier. Elle permet aussi de déplacer un fichier d'un lecteur à un autre, mais elle ne peut renommer un dossier existant que si les arguments newpathname et oldpathname concernent le même lecteur. L'instruction Name ne permet pas de créer un nouveau fichier ou dossier.

Si vous appliquez Name à un fichier ouvert, vous provoquez une erreur. Les fichiers ouverts ne peuvent être renommés avant d'avoir été fermés. Les arguments de Name ne peuvent comporter de caractères génériques (* : multicaractères, ? : caractère unique).

Regarde l'exemple de l'aide

eric

Bonjour Eric,

le problème c'est que je ne sais pas comment sera nommé le fichier à ouvrir, je ne peux pas vraiment prévoir l'erreur qui pourrait être faite par une personne faisant la mise à jour de la base de données..

??? Comment ça tu ne sais pas ?

Tu le fais choisir, et même afficher dans une Msgbox.

eric

Rechercher des sujets similaires à "renommer fichier ouverture"