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=E9s 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=EAme 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).
et je mets un apostrophe devant celui que je veux cacher...
Y a-t-il moyen de dire =E0 excel quelque chose dans le genre.... si le fich=
ier actuel est dans le W alors Workbooks.Open Filename:=3D"\\W etc... sino=
n Workbooks.Open Filename:=3D"\\L etc...
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
a écrit dans le message de news:
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).
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
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
<denys.p@videotron.ca> a écrit dans le message de news:
b2167e64-9bce-4973-96ae-5d0618e9e433@googlegroups.com...
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).
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...
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
a écrit dans le message de news:
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).
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
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...
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...
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
On Thu, 14 May 2015 21:35:27 +0200, "Jacky" wrote:
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)
On Thu, 14 May 2015 21:35:27 +0200, "Jacky" <Dupond@marcel.fr> wrote:
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)
Désolé, je n'y arrive pas.... Excel ne semble pas reconnaitre le chemin...
Denys
Jacky
Re...
Met en ligne le code utilisé.
-- Salutations JJ
a écrit dans le message de news:
Désolé, je n'y arrive pas.... Excel ne semble pas reconnaitre le chemin...
Denys
Re...
Met en ligne le code utilisé.
--
Salutations
JJ
<denys.p@videotron.ca> a écrit dans le message de news:
4278e23f-b81f-4126-956d-0715e45bb7ce@googlegroups.com...
Désolé, je n'y arrive pas.... Excel ne semble pas reconnaitre le chemin...
Désolé, je n'y arrive pas.... Excel ne semble pas reconnaitre le chemin...
Denys
MichD
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 ?
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 ?
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
aussi utiliser la syntaxe suivante:
Set wk1 = Workbooks.Open(Filename:=Chemin & "" & Fichier, ReadOnly:úlse)
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 '-----------------------------------------------------------------
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
'-----------------------------------------------------------------
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 '-----------------------------------------------------------------