Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[VBA] open d'un fichier / nom est en variable

kolitchev, le vendredi 18 mai 2007 à 12:48:45
[VBA] open d'un fichier dont le nom est en variable


Bonjour,

La réponse de l'utilisateur, au travers d'une boite de dial à 2 zones de liste est "traduite"en clair dans un feuille Table et concaténée en C28
(Table!open) sous la forme d'un nom de fichier type R01mh.xls ou R48lt.xl ou R01 (type) provient de la 1ere liste et mh (initiale utilisateur) provient de la 2nde.

L'ensemble des fichiers R01xx et R48xx (environ 30) se trouvent dans la même DIR.


Comment ouvrir ce fichier (en Table!"C28") afin d'en importer les donnée dans ma feuille de calcul ?

Je coince!

Merci d'avance ....
Configuration: Windows XP
Firefox 1.5.0.11
Répondre à kolitchev  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
EBasta, le vendredi 18 mai 2007 à 14:09:46
Bonjour,

Pour ouvrir un classeur sour Excel, en VBA, la commande est :
Workbooks.Open Filename:="Chemin\NomDuClasseur.xls"

Donc, à partir de là, la procédure pourrait être :

Sub OuvrirClasseur()

Dim strFichier As String

'Remplacer "Chemin" par le chemin complet du répertoire
'où se trouve le classeur à ouvrir, correspondant à DIR...
'Par exemple "C:\Applications\Excel"

Const strRepertoire = "Chemin"

strFichier = Sheets("Table").Cells(28, 3).Value

Workbooks.Open Filename:=strRepertoire & "\" & strFichier

End Sub

J'espère que cela peut aider...
Répondre à EBasta

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kolitchev, le vendredi 18 mai 2007 à 17:15:08
Excellent! merci

Question subsidiaire:

1/ dans ton code tu précises le chemin de mannière absolue (C:\Applications\Excel). Sachant que les fichiers à ouvrir seront tjrs dans la même DIR que la feuille de calcul, mais que cette DIR pourrait varier, peut-on envisager un adressage 'relatif' ?

2/ la cellule Cells(28,3) est nommée 'open'. Quelle syntaxe pour l'utiliser
sous cette appelation?

En tout cas, ton aide a été précieuse. Quand j'y pense, coincer là-dessus ...

Merci
Répondre à kolitchev

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le vendredi 18 mai 2007 à 22:43:35
Bonjour,

exemple :

Sub Test()

    Dim NomFichier As String
    
    NomFichier = ActiveWorkbook.FullName
    NomFichier = Left(NomFichier, InStrRev(NomFichier, "\"))
    NomFichier = NomFichier & Range("open").Value
    
    MsgBox NomFichier
    Workbooks.Open (NomFichier)

End Sub
'

Lupin
Répondre à Lupin.A

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nono, le mardi 24 juillet 2007 à 11:03:46
j'ai mieux car je cherche
En fait j'ouvre sous excel un explorateur d'objet pour que tu trouve ton fichier et ensuite je l'ouvre

Tu exclue ainsi une longue recopie du chemin d'acces et en plus ton fichier s'ouvre

voila le code

Sub Macro1()
nom = Application.GetOpenFilename("Nom fichier,*.xls")
Workbooks.Open nom
end sub
Répondre à Nono

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Lupin.A, le mardi 24 juillet 2007 à 15:44:19
Bonjour,

oui, je comprends cette technique, toutefois, celle-ci oblige une intervention et ne pourra être
utilisé lors d'un automatisme de nuit ou quelques chose du genre. Tout dépend du besoin et
cette précision n'a pas été soumis dans le devis de Kolitchev.

justement, le nom du fichier est donné en [range(open).value], donc pas besoin de demander
ou est le fichier à l'utilisateur puisqu'il est spécifier que tous les fichiers sont dans le même
dossier, il ne s'agit que de trouver celui-ci :-)

ceci dit, pour sélectionner un nom par l'utilisateur, à partir d'une localisation [ Range ], j'aurais proposé :

Sub OuvrirFichier()

    Dim objNomFichier As Range, strNomFichier As String

    Set objNomFichier = Application.InputBox("Cellule source : ", Type:=8)
    
    strNomFichier = ActiveWorkbook.FullName
    strNomFichier = Left(strNomFichier, InStrRev(strNomFichier, "\"))
    NomFichier = NomFichier & "\" & objNomFichier.Value
    Workbooks.Open (NomFichier)
    
    Set objNomFichier = Nothing

End Sub
'


je ne crois pas qu'il y ait de mauvaise méthode, je ne propose que des
suggestion libre au demandeur de formuler ou non l'utilité de ces suggestions.

perso, quand je pose une question, c'est que j'ai besoin d'aide et la plus part
du temps l'aide est bienvenue, n'est pas à cela que ce forum sert !

Cordialement

Lupin
Répondre à Lupin.A

Résultats pour [VBA] open d'un fichier / nom est en variable

Sauvegarde sous VBA - Excel (Résolu) Bonjour, Je voudrais faire sous Excel des sauvegardes automatiques, sous un nouveau nom a chaque fois. J'ai le code suivant, mais je ne parviens pas a faire du nom du fichier une variable. Je voudrais qu'a chaque nouvelle sauvegarde,... www.commentcamarche.net/forum/affich-3529715-sauvegarde-sous-vba-excel
[script/bash] Variable d'environnement (Résolu) Bonjour, J'écris un script qui appelle une variable d'environnement: tail $[$fichier] la variable $fichier etant definie dans le script. il reconnait la variable mais refuse d'executer la commande tail. Le message d'erreur est du... www.commentcamarche.net/forum/affich-1651850-script-bash-variable-d-environnement
Vba excel active workbooks (Résolu) Bonjour, j'ai un soucis avec mon code, j'ai une erreur d'excécution 9 lorsque je veux delete un classeur appellé par une variable voici le code : .... Fichier = Application.GetOpenFilename Workbooks.Open Fichier 'ouverture... www.commentcamarche.net/forum/affich-6387650-vba-excel-active-workbooks

Résultats pour [VBA] open d'un fichier / nom est en variable

[Windows XP] Fichiers “Thumbs.db” et vignettesUn peu de partout sur le disque se trouvent des fichiers nommés Thumbs.db, non affichés par l'explorateur de Windows. A quoi correspondent ces fichiers ? Les fichiers Thumbs.db sont utilisés par Windows XP pour afficher les aperçus en miniatures... www.commentcamarche.net/faq/sujet-617-windows-xp-fichiers-thumbs-db-et-vignettes
Fichier hiberfil.sys à la racine du disqueVous avez constaté la présence d'un fichier nommé hiberfil.sys situé dans C:\hiberfil.sys ? Il s'agit d'un fichier temporaire créé par Windows afin de stocker l'état de sa mémoire vive afin de se mettre en veille prolongée (hibernation). Pour... www.commentcamarche.net/faq/sujet-7457-fichier-hiberfil-sys-a-la-racine-du-disque
[Linux] Connaître le type d'un fichierSous les systèmes UNIX (donc sous Linux également) l'extension du fichier n'a aucune forme d'importance, ce qui signifie qu'un fichier nommé fichier.jpg peut aussi bien être une page HTML qu'un son au format WAV et qu'il est tout de même possible de... www.commentcamarche.net/faq/sujet-945-linux-connaitre-le-type-d-un-fichier

Résultats pour [VBA] open d'un fichier / nom est en variable

Macro excel ouverture fichier xls (Résolu)Bonjour, je souhaiterais savoir comment on peut faire pour pouvoir ouvrir un fichier excel grace à une macro et pouvoir effectuer des opérations dessus grâce à cette même macro. Le nom du fichier est variable, ainsi que son chemin d'accès. En... www.commentcamarche.net/forum/affich-4358429-macro-excel-ouverture-fichier-xls
Pte question: nom enregistrement fichier VBA (Résolu)Bonjour, Je souhaite enregistrer mon document excel via VBA avec le nom de la cellule dans la feuille OVmaster cellule a1; j'ai essaye cela mais il reste un bug! ActiveWorkbook.SaveAs Sheets("OVmaster").Range("a1") pourtant ActiveWorkbook.SaveAs... www.commentcamarche.net/forum/affich-6079674-pte-question-nom-enregistrement-fichier-vba
Nommer un classeur avec la date courante (Résolu)Bonjour, j'aimerai savoir comment creer un nouveau classeur Excel (dans le code VBA) en le nommant avec la date courante. Autrement dit je voudrais savoir comment nommer un classeur avecune variable. Merci... www.commentcamarche.net/forum/affich-1386754-nommer-un-classeur-avec-la-date-courante

Résultats pour [VBA] open d'un fichier / nom est en variable

Télécharger Winmail OpenerWinmail Opener est un petit utilitaire très simple permettant de lire le contenu de mail encodés au format TNEF (winmail.dat). Si vous recevez un courrier électronique contenant un fichier nommé winmail.dat, Winmail Opener vous permettra d'en lire le... www.commentcamarche.net/telecharger/telecharger-34055067-winmail-opener