Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ouvrir fichier dont le chemin relatif est contenu dans une cellule

gimli

XLDnaute Occasionnel
Bonjour à toutes et à tous,

je vous explique mon problème: j'ai une page excel avec un bouton et 3 cellules qui contiennent chacunes 1 chemin relatif (en C14,C16 et C18) de fichier excel.
J'aimerai que lorsque je clique sur le bouton, il m'ouvre un nouveau classeur en chargeant les 3 fichiers dans 3 onglets (sur le nouveau classeur).

Auriez-vous une idée ?

Merci d'avance, et bonne journée à tous,


Gimli
 

gimli

XLDnaute Occasionnel
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

Bonjour tototiti2008,forum,

comment pourrais-je faire pour donner un nom au nouveau classeur ?
mon code pour l'instant :

Private Sub BtnTraitement_Click()

Application.Workbooks.Add

End Sub
 

gimli

XLDnaute Occasionnel
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

re

je viens de trouver une autre solution :

Private Sub BtnTraitement_Click()

Application.Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\...\test.xls"

End Sub

le code ouvre un nouveau classeur et l'appelle test.xls
 

tototiti2008

XLDnaute Barbatruc
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

Re,

tout dépend de ce qu'on entend par

un nom au nouveau classeur

Moi je lui ai donné un nom de variable, pour pouvoir le manipuler (et le rappeler) plus facilement dans le code

Toi tu lui as donné un nom de fichier en l'enregistrant

Ce n'est évidement pas la même chose
 

gimli

XLDnaute Occasionnel
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

Oui c'est vrai.
Je souhaitais le renommer car il me fallait fallait le nom du classeur pour pouvoir copier dessus les pages à ouvrir.
 

gimli

XLDnaute Occasionnel
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

Est-ce possible de copier toutes les pages d'un fichier chargé (dont le chemin relatif est dans une cellule) et de coller dans le nouveau classeur, en vba ?
 

tototiti2008

XLDnaute Barbatruc
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

Re,

Oui c'est vrai.
Je souhaitais le renommer car il me fallait fallait le nom du classeur pour pouvoir copier dessus les pages à ouvrir.

Mais tu n'as pas besoin de savoir son nom dans Excel (Classeur1, Classeur2 ou Classeur392) pour pouvoir le manipuler en VBA

justement, en passant par ma variable ResWkb, je peux le manipuler quel que soit son nom
 

tototiti2008

XLDnaute Barbatruc
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

Re,

pour ouvrir le classeur :

Code:
Set SrcWkb = Workbooks.open (thisworkbook.path & range("C14").value)

pour copier les feuilles

Code:
    For i = SrcWkb.Sheets.Count To 1 Step -1
    SrcWkb.Sheets(i).Copy Before:=Workbooks("test.xls") _
        .Sheets(1)
    Next i
 

gimli

XLDnaute Occasionnel
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

ça ne fonctionne pas, peut etre me suis-je trompé, je suis une bille sur excel =S
voici mon code :

 

tototiti2008

XLDnaute Barbatruc
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

Re,

ah, tu as utilisé ma variable, alors peut-être

Code:
Private Sub BtnTraitement_Click()
Dim ResWkb As Workbook
Set ResWkb = Application.Workbooks.Add


Set SrcWkb = Workbooks.Open(ThisWorkbook.Path & Range("C14").Value) 'pour copier les feuilles

For i = SrcWkb.Sheets.Count To 1 Step -1
SrcWkb.Sheets(i).Copy Before:=ResWkb.Sheets(1)
Next i
End Sub

peux-tu préciser quand tu dis "ça ne marche pas" ??
 

gimli

XLDnaute Occasionnel
Re : Ouvrir fichier dont le chemin relatif est contenu dans une cellule

ça me met que le chemin relatif contenu dans C14 n'est pas valide ou pas au bon endroit, et j'ai vérifié plusieurs fois il existe bien.

cette ligne là est surlignée :
Set SrcWkb = Workbooks.Open(ThisWorkbook.Path & Range("C14").Value) 'pour copier les feuilles
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…