OVH Cloud OVH Cloud

Macro Adresse relative Repertoire

6 réponses
Avatar
Jean-Paul V
Bonjour à tous
J’ai écrit une macro qui fait des consolidations
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("'C:\DOCS\FORMATION\Brest.xls'!ca", _
"'C:\DOCS\FORMATION\Lyon.xls'!ca",
"'C:\DOCS\FORMATION\Paris.xls'!ca"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=True

End Sub

Hors nous sommes maintenant sur serveur et nos fichiers de travail sont
maintenant en U:\DOCS\
Est-il possible d’écrire la macros pour quelle fonctionne qq soit le
répertoire de travail.J’avais pensé :
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("\\DOCS\FORMATION\Brest.xls'!ca", _
" \\DOCS\FORMATION\Lyon.xls'!ca", "
\\DOCS\FORMATION\Paris.xls'!ca"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=True

End Sub

Cela ne marche pas , pas plus " ‘\\DOCS\FORMATION\Lyon.xls'!ca"
y-a-t-il une solution ?
Bien Amicalement
Jean-Paul

6 réponses

Avatar
Philippe.R
Bonjour Jean-Paul,
Et si tu utilises une syntaxe de ce genre :

Sub ConsoLiée()
on error resume next
Range("HautLiéSsTitre").Select

Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca", "'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

y a t il du mieux ?
--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour à tous
J’ai écrit une macro qui fait des consolidations
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca",
"'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Hors nous sommes maintenant sur serveur et nos fichiers de travail sont
maintenant en U:DOCS
Est-il possible d’écrire la macros pour quelle fonctionne qq soit le
répertoire de travail.J’avais pensé :
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "
DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Cela ne marche pas , pas plus " ‘DOCSFORMATIONLyon.xls'!ca"
y-a-t-il une solution ?
Bien Amicalement
Jean-Paul



Avatar
Jean-Paul V
Bonjour Philippe

En fait pour être plus clair comme j'écris mes macros à la maison je
cherchais une solution de façon que si je suis dans un fichier qui est dans
C:DOCS il fait les conso avec des fichier qui sont dans C:DOCS mais si je
suis dans U:DOCS il doit prendre des fichiers dans U:DOCS, est-ce possible ?

Si je comprends les instructions que vous me conseillez, c'est seulement
s'il y a erreur qu'il va les chercher dans U:DOCS.
Et encore pouvez-vous me dire exactement ce que veux dire DOCS est-ce que
c'est bien le DOCS qui est sur le serveur et que je vais chercher
manuellement en allant dans U: ( le U: étant dans ma société le serveur ).

Merci encore pour votre aide


Bonjour Jean-Paul,
Et si tu utilises une syntaxe de ce genre :

Sub ConsoLiée()
on error resume next
Range("HautLiéSsTitre").Select

Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca", "'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

y a t il du mieux ?
--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour à tous
J’ai écrit une macro qui fait des consolidations
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca",
"'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Hors nous sommes maintenant sur serveur et nos fichiers de travail sont
maintenant en U:DOCS
Est-il possible d’écrire la macros pour quelle fonctionne qq soit le
répertoire de travail.J’avais pensé :
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "
DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Cela ne marche pas , pas plus " ‘DOCSFORMATIONLyon.xls'!ca"
y-a-t-il une solution ?
Bien Amicalement
Jean-Paul







Avatar
Philippe.R
Re,
La syntaxe, pour atteindre un lecteur réseau sur un serveur, peut chez moi être :
ActiveWorkbook.SaveAs Filename:="ServeurDOMAINELeDossierLeClasseur.xls"
ou :
ActiveWorkbook.SaveAs Filename:="H:LeDossierLeClasseur.xls"
sans que saches me l'expliquer (du coup, je procède à des tests pour détecter la bonne syntaxe).
Ce que je suggérais dans ma réponse était effectivement de faire tester les différentes syntaxes
repérées sur les différents postes à travers une gestion d'erreur basique. et je n'avais fait que
relever deux de celles que tu avais évoquées ; rien n'interdit d'en tester 3.
--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour Philippe

En fait pour être plus clair comme j'écris mes macros à la maison je
cherchais une solution de façon que si je suis dans un fichier qui est dans
C:DOCS il fait les conso avec des fichier qui sont dans C:DOCS mais si je
suis dans U:DOCS il doit prendre des fichiers dans U:DOCS, est-ce possible ?

Si je comprends les instructions que vous me conseillez, c'est seulement
s'il y a erreur qu'il va les chercher dans U:DOCS.
Et encore pouvez-vous me dire exactement ce que veux dire DOCS est-ce que
c'est bien le DOCS qui est sur le serveur et que je vais chercher
manuellement en allant dans U: ( le U: étant dans ma société le serveur ).

Merci encore pour votre aide


Bonjour Jean-Paul,
Et si tu utilises une syntaxe de ce genre :

Sub ConsoLiée()
on error resume next
Range("HautLiéSsTitre").Select

Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca", "'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

y a t il du mieux ?
--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour à tous
J’ai écrit une macro qui fait des consolidations
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca",
"'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Hors nous sommes maintenant sur serveur et nos fichiers de travail sont
maintenant en U:DOCS
Est-il possible d’écrire la macros pour quelle fonctionne qq soit le
répertoire de travail.J’avais pensé :
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "
DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Cela ne marche pas , pas plus " ‘DOCSFORMATIONLyon.xls'!ca"
y-a-t-il une solution ?
Bien Amicalement
Jean-Paul









Avatar
Jean-Paul V
Bonjour Philippe

N'y aurait-il pas une instruction pour nous dire si le fichier actif vient
de C: où s'il vient du serveur afin que pour la suite de la macros il aille
chercher les fichiers sur C: si on est sur C et sur le serveur si le fichier
actif vient du serveur.

"Philippe.R" wrote:

Re,
La syntaxe, pour atteindre un lecteur réseau sur un serveur, peut chez moi être :
ActiveWorkbook.SaveAs Filename:="ServeurDOMAINELeDossierLeClasseur.xls"
ou :
ActiveWorkbook.SaveAs Filename:="H:LeDossierLeClasseur.xls"
sans que saches me l'expliquer (du coup, je procède à des tests pour détecter la bonne syntaxe).
Ce que je suggérais dans ma réponse était effectivement de faire tester les différentes syntaxes
repérées sur les différents postes à travers une gestion d'erreur basique. et je n'avais fait que
relever deux de celles que tu avais évoquées ; rien n'interdit d'en tester 3.
--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour Philippe

En fait pour être plus clair comme j'écris mes macros à la maison je
cherchais une solution de façon que si je suis dans un fichier qui est dans
C:DOCS il fait les conso avec des fichier qui sont dans C:DOCS mais si je
suis dans U:DOCS il doit prendre des fichiers dans U:DOCS, est-ce possible ?

Si je comprends les instructions que vous me conseillez, c'est seulement
s'il y a erreur qu'il va les chercher dans U:DOCS.
Et encore pouvez-vous me dire exactement ce que veux dire DOCS est-ce que
c'est bien le DOCS qui est sur le serveur et que je vais chercher
manuellement en allant dans U: ( le U: étant dans ma société le serveur ).

Merci encore pour votre aide


Bonjour Jean-Paul,
Et si tu utilises une syntaxe de ce genre :

Sub ConsoLiée()
on error resume next
Range("HautLiéSsTitre").Select

Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca", "'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

y a t il du mieux ?
--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour à tous
J’ai écrit une macro qui fait des consolidations
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca",
"'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Hors nous sommes maintenant sur serveur et nos fichiers de travail sont
maintenant en U:DOCS
Est-il possible d’écrire la macros pour quelle fonctionne qq soit le
répertoire de travail.J’avais pensé :
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "
DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Cela ne marche pas , pas plus " ‘DOCSFORMATIONLyon.xls'!ca"
y-a-t-il une solution ?
Bien Amicalement
Jean-Paul













Avatar
Clément Marcotte
Bonjour,

N'y aurait-il pas une instruction pour nous dire si le fichier actif
vient

de C: où s'il vient du serveur


Avec quelque chose comme ça:

lechemin = activeworkbook.path
ledisque = left(lechemin,3)

Avatar
Philippe.R
Re,
Sur la base de cet élément nouveau, on peut imaginer ceci (non testé) :

Sub ConsoLiée()
Dim lElEcT As String, CheMin as string
lElEcT = Left(ThisWorkbook.Path, 1)
on error resume next
Range("HautLiéSsTitre").Select
chemin="'''" & lelect & ":DOCSFORMATION"
Selection.Consolidate Sources:=Array(chemin & "Brest.xls'!ca", _
chemin & Lyon.xls'!ca", chemin & Paris.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True
end sub

--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour Philippe

N'y aurait-il pas une instruction pour nous dire si le fichier actif vient
de C: où s'il vient du serveur afin que pour la suite de la macros il aille
chercher les fichiers sur C: si on est sur C et sur le serveur si le fichier
actif vient du serveur.

"Philippe.R" wrote:

Re,
La syntaxe, pour atteindre un lecteur réseau sur un serveur, peut chez moi être :
ActiveWorkbook.SaveAs Filename:="ServeurDOMAINELeDossierLeClasseur.xls"
ou :
ActiveWorkbook.SaveAs Filename:="H:LeDossierLeClasseur.xls"
sans que saches me l'expliquer (du coup, je procède à des tests pour détecter la bonne syntaxe).
Ce que je suggérais dans ma réponse était effectivement de faire tester les différentes syntaxes
repérées sur les différents postes à travers une gestion d'erreur basique. et je n'avais fait que
relever deux de celles que tu avais évoquées ; rien n'interdit d'en tester 3.
--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour Philippe

En fait pour être plus clair comme j'écris mes macros à la maison je
cherchais une solution de façon que si je suis dans un fichier qui est dans
C:DOCS il fait les conso avec des fichier qui sont dans C:DOCS mais si je
suis dans U:DOCS il doit prendre des fichiers dans U:DOCS, est-ce possible ?

Si je comprends les instructions que vous me conseillez, c'est seulement
s'il y a erreur qu'il va les chercher dans U:DOCS.
Et encore pouvez-vous me dire exactement ce que veux dire DOCS est-ce que
c'est bien le DOCS qui est sur le serveur et que je vais chercher
manuellement en allant dans U: ( le U: étant dans ma société le serveur ).

Merci encore pour votre aide


Bonjour Jean-Paul,
Et si tu utilises une syntaxe de ce genre :

Sub ConsoLiée()
on error resume next
Range("HautLiéSsTitre").Select

Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca", "'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

y a t il du mieux ?
--
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)

"Jean-Paul V" a écrit dans le message de news:

Bonjour à tous
J’ai écrit une macro qui fait des consolidations
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("'C:DOCSFORMATIONBrest.xls'!ca", _
"'C:DOCSFORMATIONLyon.xls'!ca",
"'C:DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Hors nous sommes maintenant sur serveur et nos fichiers de travail sont
maintenant en U:DOCS
Est-il possible d’écrire la macros pour quelle fonctionne qq soit le
répertoire de travail.J’avais pensé :
Sub ConsoLiée()
Range("HautLiéSsTitre").Select
Selection.Consolidate Sources:=Array("DOCSFORMATIONBrest.xls'!ca", _
" DOCSFORMATIONLyon.xls'!ca", "
DOCSFORMATIONParis.xls'!ca"), _
Function:=xlSum, TopRow:úlse, LeftColumn:úlse, CreateLinks:=True

End Sub

Cela ne marche pas , pas plus " ‘DOCSFORMATIONLyon.xls'!ca"
y-a-t-il une solution ?
Bien Amicalement
Jean-Paul