Si le fichier est localisé....

Le
denys.p
Bonjour,

Est-il possible qu'une macro puisse effectuer des instructions selon l'empl=
acement du fichier ?

Voici: j'ai deux fichiers identiques qui sont situés 1) dans le W et l'au=
tre dans le L

Chaque matin, je copie le fichier du W et le colle dans le L. Chaque mat=
in aussi, l'usager du W clique sur un bouton sur la feuille Data et va cher=
cher de l'information sur un fichier sur le W. et c'est la même chose =
pour l'usager du "drive" L.il clique sur le bouton qui va chercher l'inf=
o sur le L.

Lorsque je copie le fichier le matin, je dois toujours changer l'info dans =
le VBA afin que l'usager du L puisse aller chercher la bonne info (celle du=
L et non pas celle du W).

J'ai donc deux lignes de code

'Workbooks.Open Filename:="\W etc
Workbooks.Open Filename:="\L etc

et je mets un apostrophe devant celui que je veux cacher

Y a-t-il moyen de dire à excel quelque chose dans le genre. si le fich=
ier actuel est dans le W alors Workbooks.Open Filename:="\W etc sino=
n Workbooks.Open Filename:="\L etc

Juste pour m'éviter de faire des erreurs.

Ce serait gentil

Merci pour votre temps

Denys
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #26352777
Bonsoir,
Y a-t-il moyen de dire à excel quelque chose dans le genre....




Comme ceci peut-être, en adaptent les noms et chemin
'-------------------
If ThisWorkbook.Path= "W:BUREAU" Then
Lechemin = "\L etc...
LeClasseur = "xxxxxx.xlsm"
Else
Lechemin = "\W etc...
LeClasseur = "yyyyyy.xlsm"
End If
Workbooks.Open Filename:=Lechemin & LeClasseur 'ouverture fichier
'-----------------
--
Salutations
JJ



Bonjour,

Est-il possible qu'une macro puisse effectuer des instructions selon l'emplacement du fichier ?

Voici: j'ai deux fichiers identiques qui sont situés 1) dans le W et l'autre dans le L

Chaque matin, je copie le fichier du W et le colle dans le L.... Chaque matin aussi, l'usager du W clique sur
un bouton sur la feuille Data et va chercher de l'information sur un fichier sur le W.... et c'est la même
chose pour l'usager du "drive" L....il clique sur le bouton qui va chercher l'info sur le L.

Lorsque je copie le fichier le matin, je dois toujours changer l'info dans le VBA afin que l'usager du L
puisse aller chercher la bonne info (celle du L et non pas celle du W).

J'ai donc deux lignes de code

'Workbooks.Open Filename:="\W etc...
Workbooks.Open Filename:="\L etc...

et je mets un apostrophe devant celui que je veux cacher...

Y a-t-il moyen de dire à excel quelque chose dans le genre.... si le fichier actuel est dans le W alors
Workbooks.Open Filename:="\W etc... sinon Workbooks.Open Filename:="\L etc...

Juste pour m'éviter de faire des erreurs....

Ce serait gentil...

Merci pour votre temps

Denys
MichD
Le #26352781
Bonjour,

Simplement un commentaire...

J'ajouterai qu'il faut faire attention au symbole "=" en VBA car VBA devient alors
sensible à la casse des caractères. On peut utiliser alors les fonctions "Ucase(Chemin)" ou
"LCase(Chemin) des 2 côtés de la comparaison afin d'éviter une méprise...
La Norme Française c'est pas le FN
Le #26352784
On Thu, 14 May 2015 21:35:27 +0200, "Jacky"
Bonsoir,
Y a-t-il moyen de dire à excel quelque chose dans le genre....




Comme ceci peut-être, en adaptent les noms et chemin
'-------------------
If ThisWorkbook.Path= "W:BUREAU" Then
Lechemin = "\L etc...
LeClasseur = "xxxxxx.xlsm"
Else
Lechemin = "\W etc...
LeClasseur = "yyyyyy.xlsm"
End If
Workbooks.Open Filename:=Lechemin & LeClasseur 'ouverture fichier
'-----------------
--
Salutations
JJ



Dans ce cas si c'est pas L, c'est pas forcement W.
Moi je tsterai aussi W (on sait jamais)
denys.p
Le #26352847
Bonjour Jacky et Denis,

Merci beaucoup.... J'essaie et vous reviens...

Bonne longue fin de semaine.....s'il y a lieu !! :-)

Denys
denys.p
Le #26352869
Désolé, je n'y arrive pas.... Excel ne semble pas reconnaitre le chemin ...

Denys
isabelle
Le #26352871
bonjour Denys,

peut être qu'il faudrait changer de drive avant Workbooks.Open

ChDrive "W" ' lecteur
ChDir Lechemin 'répertoires
Workbooks.Open....

isabelle

Le 2015-05-15 09:42, a écrit :
Désolé, je n'y arrive pas.... Excel ne semble pas reconnaitre le chemin...

Denys

Jacky
Le #26352873
Re...

Met en ligne le code utilisé.

--
Salutations
JJ



Désolé, je n'y arrive pas.... Excel ne semble pas reconnaitre le chemin...

Denys
MichD
Le #26352881
Lorsque ton fichier est ouvert si tu exécutes cette petite macro
dans ce fichier, quel chemin est affiché dans le MsgBox

Tu fais cela pour la position du fichier sur les 2 lecteurs "W" Et "L".

Est-ce le même résultat (Chemin) pour différents ordinateurs du groupe?
As-tu testé?

'---------------------------------------
Sub Test()
MsgBox ThisWorkbook.Path
End Sub
'---------------------------------------

Et tu adaptes ces chemins :

'-------------------
If LCase(ThisWorkbook.Path)= LCase("W:BUREAU") Then
Lechemin = "\L etc... 'Adapte le chemin selon ce que t'affiche la boîte de message
LeClasseur = "xxxxxx.xlsm"
Else
Lechemin = "\W etc... 'Adapte le chemin selon ce que t'affiche la boîte de message
LeClasseur = "yyyyyy.xlsm"
End If
Workbooks.Open Filename:=Lechemin & LeClasseur 'ouverture fichier

Si tu exécutes la procédure pas à pas en utilisant la touche F8 en VBA après avoir
placé le curseur de la souris dans la procédure, que se passe-t-il ?
isabelle
Le #26352880
aussi utiliser la syntaxe suivante:

Set wk1 = Workbooks.Open(Filename:=Chemin & "" & Fichier, ReadOnly:úlse)

isabelle

Le 2015-05-15 09:51, isabelle a écrit :

ChDrive "W" ' lecteur
ChDir Lechemin 'répertoires
Workbooks.Open....

isabelle
MichD
Le #26352879
Je ne travaille pas en réseau et je n'ai pas accès à un réseau


Je n'ai pas de moyen de tester, mais j'ai déjà lu que ChDir ne donnait pas les
résultats attendus quand on cherche à accéder au dossier d'un ordinateur
distant. Il existe une fonction de substitution pour contourner ce problème, qui
pourrait peut-être t'aider à régler ton problème (code à recopier dans un module
standard du classeur où tu veux l'utiliser) :

'=============== 'une procédure pour remplacer ChDir avec un lecteur/répertoire réseau

'Déclaration de L'API à placer dans le haut d'un module standard
Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long

'-----------------------------------------------------------------
Sub ChDirNet(szPath As String)
'collectif, d'après Laurent Longre, mpep
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub
'-----------------------------------------------------------------

Example of usage afin de changer le répertoire "actif". Ceci remplace la commande ChDir()
dans un environnement
'-----------------------------------------------------------------
Sub GetFile()
On Error GoTo ErrHandler
ChDirNet "\LOGD0FILESOGILVTWDocsTemp" 'Tu utilises le chemin que tu désires (réseau)
Exit Sub
ErrHandler:
MsgBox "Couldn't set path"
End Sub
'-----------------------------------------------------------------
Publicité
Poster une réponse
Anonyme