OVH Cloud OVH Cloud

Se servir de la valeur d'une cellule pour ouvrir un classeur

7 réponses
Avatar
HD
Bonsoir,
Je crée dans mon projet des tas de copier/coller d'un classeur à un autre.
Seulement je créer tout cela chez moi, pour monboulot, où nous sommes en
réseau et où les "trajets" de mes classeurs entre eux sont différent.
De plus lors du passage en 2005, le nom de mes classeurs va changer.
Je souhaite mettre mes "trajets" dans des cellules. Puis me servir de ce
qu'il y a dans ces cellules pour la fonction Workbook.Open filename:=
Comment faire?
Merci par avance.
Hervé

7 réponses

Avatar
Philippe.R
Bonsoir,
En supposant nommée "monchemin" la cellule dans laquelle est stocké le chemin :

Workbooks.Open Filename:=[monchemin], UpdateLinks:=3

devrait convenir
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"HD" a écrit dans le message de news:
Bonsoir,
Je crée dans mon projet des tas de copier/coller d'un classeur à un autre.
Seulement je créer tout cela chez moi, pour monboulot, où nous sommes en réseau et où les "trajets" de
mes classeurs entre eux sont différent.
De plus lors du passage en 2005, le nom de mes classeurs va changer.
Je souhaite mettre mes "trajets" dans des cellules. Puis me servir de ce qu'il y a dans ces cellules
pour la fonction Workbook.Open filename: > Comment faire?
Merci par avance.
Hervé



Avatar
LeSteph
Bonjour,
'dans demarrer executer tu tapes
cmd '(puis entrée)
'à l'invite tu tapes
cd '(puis entrée)
dir *.xls/b/o:g/s>listexl.txt '(puis entrée)
exit '(puis entrée)

'***
cela te donnera un fichier c:listexl.txt contenant les noms de fichiers
avec chemin complet
de retour dans excel :
Fichier Ouvrir (dans type de fichiers tu choisis Fichiers texte)
une boite de dialogue s'ouvre tu choisis Terminer
tu enregistres ce fichiers au format xl
c:listexl.xls
Tu remplace les 2 ou 3 caractères bizarres par le bon caractère accentué é ê
à ... et tu as ta liste.
(copie le caractère biscornu par ctrl+v et utilise le dans Edition
remplacer tu le mets dans caractère à rechercher)

'ensuite dans vba dans le code de la feuille tu mets ceci:
'*****
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Workbooks.Open Filename:¬tiveCell.Text
End Sub
'****
'lSteph

"HD" a écrit dans le message de news:

Bonsoir,
Je crée dans mon projet des tas de copier/coller d'un classeur à un autre.
Seulement je créer tout cela chez moi, pour monboulot, où nous sommes en
réseau et où les "trajets" de mes classeurs entre eux sont différent.
De plus lors du passage en 2005, le nom de mes classeurs va changer.
Je souhaite mettre mes "trajets" dans des cellules. Puis me servir de ce
qu'il y a dans ces cellules pour la fonction Workbook.Open filename: > Comment faire?
Merci par avance.
Hervé



Avatar
Clément Marcotte
Bonjour,

Dans le même ordre d'idée. Pour récupérer le nom, ou le chemin
complet, d'un fichier avec un clic-droit dans l'Explorateur:

Cez Patrick Philippon

Clipname:

http://www.mainsoft.fr/freeware.htm


"LeSteph" a écrit dans le message de
news:
Bonjour,
'dans demarrer executer tu tapes
cmd '(puis entrée)
'à l'invite tu tapes
cd '(puis entrée)
dir *.xls/b/o:g/s>listexl.txt '(puis entrée)
exit '(puis entrée)

'***
cela te donnera un fichier c:listexl.txt contenant les noms de
fichiers

avec chemin complet
de retour dans excel :
Fichier Ouvrir (dans type de fichiers tu choisis Fichiers texte)
une boite de dialogue s'ouvre tu choisis Terminer
tu enregistres ce fichiers au format xl
c:listexl.xls
Tu remplace les 2 ou 3 caractères bizarres par le bon caractère
accentué é ê

à ... et tu as ta liste.
(copie le caractère biscornu par ctrl+v et utilise le dans Edition
remplacer tu le mets dans caractère à rechercher)

'ensuite dans vba dans le code de la feuille tu mets ceci:
'*****
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Workbooks.Open Filename:¬tiveCell.Text
End Sub
'****
'lSteph

"HD" a écrit dans le message de news:

Bonsoir,
Je crée dans mon projet des tas de copier/coller d'un classeur à
un autre.


Seulement je créer tout cela chez moi, pour monboulot, où nous
sommes en


réseau et où les "trajets" de mes classeurs entre eux sont
différent.


De plus lors du passage en 2005, le nom de mes classeurs va
changer.


Je souhaite mettre mes "trajets" dans des cellules. Puis me servir
de ce


qu'il y a dans ces cellules pour la fonction Workbook.Open
filename: > > Comment faire?


Merci par avance.
Hervé







Avatar
HD
Ca marche impec.
Merci


"Philippe.R" a écrit dans le message de news:
eFT$
Bonsoir,
En supposant nommée "monchemin" la cellule dans laquelle est stocké le
chemin :

Workbooks.Open Filename:=[monchemin], UpdateLinks:=3

devrait convenir
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)


Avatar
HD
J'arrive bien à récupérer ma liste, mais je ne comprend pas la macro qui
suit.
Que fait-elle exactement?
Pourquoi ce double click?

Hervé


'ensuite dans vba dans le code de la feuille tu mets ceci:
'*****
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Workbooks.Open Filename:¬tiveCell.Text
End Sub
'****
'lSteph

"HD" a écrit dans le message de news:

Bonsoir,
Je crée dans mon projet des tas de copier/coller d'un classeur à un
autre.
Seulement je créer tout cela chez moi, pour monboulot, où nous sommes en
réseau et où les "trajets" de mes classeurs entre eux sont différent.
De plus lors du passage en 2005, le nom de mes classeurs va changer.
Je souhaite mettre mes "trajets" dans des cellules. Puis me servir de ce
qu'il y a dans ces cellules pour la fonction Workbook.Open filename: >> Comment faire?
Merci par avance.
Hervé







Avatar
LeSteph
Merci Clément,
m'en vais regarder cela.

En fait pour ce qui me concerne j'ai mis le tout dans un batch .

et mon fichier listexl.xls se remet à jour en repiquant par macro le
contenu du txt
le seul pb reste ces fichus caractères accentués.
'*****
Sub ouvletxt()
ChDir "C:"
Workbooks.OpenText Filename:="C:listexl.txt", Origin:=xlMSDOS, StartRow
_
:=1, DataType:=xlFixedWidth, FieldInfo:=Array(0, 1),
TrailingMinusNumbers _
:=True
Columns("A:A").Select
Selection.Copy
ActiveWorkbook.Close False
Windows("listexl.xls").Activate
ActiveSheet.Paste
Columns("A:A").EntireColumn.AutoFit
ActiveWorkbook.Save

End Sub
'****
'--
'lSteph

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Dans le même ordre d'idée. Pour récupérer le nom, ou le chemin
complet, d'un fichier avec un clic-droit dans l'Explorateur:

Cez Patrick Philippon

Clipname:

http://www.mainsoft.fr/freeware.htm


"LeSteph" a écrit dans le message de
news:
Bonjour,
'dans demarrer executer tu tapes
cmd '(puis entrée)
'à l'invite tu tapes
cd '(puis entrée)
dir *.xls/b/o:g/s>listexl.txt '(puis entrée)
exit '(puis entrée)

'***
cela te donnera un fichier c:listexl.txt contenant les noms de
fichiers

avec chemin complet
de retour dans excel :
Fichier Ouvrir (dans type de fichiers tu choisis Fichiers texte)
une boite de dialogue s'ouvre tu choisis Terminer
tu enregistres ce fichiers au format xl
c:listexl.xls
Tu remplace les 2 ou 3 caractères bizarres par le bon caractère
accentué é ê

à ... et tu as ta liste.
(copie le caractère biscornu par ctrl+v et utilise le dans Edition
remplacer tu le mets dans caractère à rechercher)

'ensuite dans vba dans le code de la feuille tu mets ceci:
'*****
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Workbooks.Open Filename:¬tiveCell.Text
End Sub
'****
'lSteph

"HD" a écrit dans le message de news:

Bonsoir,
Je crée dans mon projet des tas de copier/coller d'un classeur à
un autre.


Seulement je créer tout cela chez moi, pour monboulot, où nous
sommes en


réseau et où les "trajets" de mes classeurs entre eux sont
différent.


De plus lors du passage en 2005, le nom de mes classeurs va
changer.


Je souhaite mettre mes "trajets" dans des cellules. Puis me servir
de ce


qu'il y a dans ces cellules pour la fonction Workbook.Open
filename: >> > Comment faire?


Merci par avance.
Hervé










Avatar
LeSteph
Re,
(alt+f11 pour ouvrir vba puis Ctrl+r pour l'explorateur de projet
dbl cliquer sur Feuil1 le module code de la feuille apparait tu colles le
code dedans et fermes vba)
ensuite
tu double clique sur une cellule qui contient un nom de fichier et il
s'ouvre.

lSteph
"HD" a écrit dans le message de news:
O$
J'arrive bien à récupérer ma liste, mais je ne comprend pas la macro qui
suit.
Que fait-elle exactement?
Pourquoi ce double click?

Hervé


'ensuite dans vba dans le code de la feuille tu mets ceci:
'*****
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Workbooks.Open Filename:¬tiveCell.Text
End Sub
'****
'lSteph

"HD" a écrit dans le message de news:

Bonsoir,
Je crée dans mon projet des tas de copier/coller d'un classeur à un
autre.
Seulement je créer tout cela chez moi, pour monboulot, où nous sommes en
réseau et où les "trajets" de mes classeurs entre eux sont différent.
De plus lors du passage en 2005, le nom de mes classeurs va changer.
Je souhaite mettre mes "trajets" dans des cellules. Puis me servir de ce
qu'il y a dans ces cellules pour la fonction Workbook.Open filename: >>> Comment faire?
Merci par avance.
Hervé