.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans le
code
le nom du classeur qui contient la feuille lien et ça cellule B35 ???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu ce
forum!!!
Merci beaucoup
.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de news:
BDA60CEF-BA04-4E78-B15E-60F5CEB4D4E9@microsoft.com...
Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès dans
la
feuille "LIEN" du classeur "X"!
Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!
Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
8CEC93FC-DBA6-4A5F-8234-3149E0661B7B@microsoft.com...
Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans le
code
le nom du classeur qui contient la feuille lien et ça cellule B35 ???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormément
Le lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!
Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:rep
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message
de
news:
DFCFCFDF-733A-43BA-82DB-EFFB14B7E238@microsoft.com...
re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu ce
forum!!!
Merci beaucoup
.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans le
code
le nom du classeur qui contient la feuille lien et ça cellule B35 ???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu ce
forum!!!
Merci beaucoup
Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38 ...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de
news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le
message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu
ce
forum!!!
Merci beaucoup
Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38 ...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph
.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
BDA60CEF-BA04-4E78-B15E-60F5CEB4D4E9@microsoft.com...
Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!
Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!
Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
8CEC93FC-DBA6-4A5F-8234-3149E0661B7B@microsoft.com...
Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormément
Le lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!
Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:rep
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le
message
de
news:
DFCFCFDF-733A-43BA-82DB-EFFB14B7E238@microsoft.com...
re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu
ce
forum!!!
Merci beaucoup
Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38 ...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de
news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le
message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu
ce
forum!!!
Merci beaucoup
Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name =
Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" a écrit dans le message de news:Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38 ...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de
news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le
message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu
ce
forum!!!
Merci beaucoup
Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name =
Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de news:
E01BEAAB-A0CA-43C6-824C-4E820D69B810@microsoft.com...
Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38 ...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph
.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
BDA60CEF-BA04-4E78-B15E-60F5CEB4D4E9@microsoft.com...
Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!
Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!
Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
8CEC93FC-DBA6-4A5F-8234-3149E0661B7B@microsoft.com...
Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormément
Le lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!
Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:rep
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le
message
de
news:
DFCFCFDF-733A-43BA-82DB-EFFB14B7E238@microsoft.com...
re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu
ce
forum!!!
Merci beaucoup
Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name =
Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" a écrit dans le message de news:Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38 ...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de
news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non !
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le
message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX". Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux! Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai connu
ce
forum!!!
Merci beaucoup
Oups pardon! En fait la feuille copiée du classeur X s'appelait
"RAPPORT_FINAL"! Je demande donc à la macro de renommer la feuille par la
valeur de la cellule C1! Ainsi lorsque la maro applique la macro qui
sauvegarde le fichié, elle le sauvegarde sous le nom approprié! Voilà!
Excellente soirée à toi stephane et merci encor (je sais ça fait beaucoup
de
fois que je le dis mais bon, vaut mieux plusieurs fois qu'une) ! et peut
être
à bientôt dans la nuit!!! ; - ) g pas encror fini de mon coté ; -(Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name >> Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" a écrit dans le message de
news:Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38
...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de
mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il
passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait
un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de
news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans
les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau
classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon
répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au
répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que
ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message
de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que
ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste
dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la
valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder
un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non
!
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans
la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le
message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX".
Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau
classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord
pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux!
Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette
cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet
à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai
connu
ce
forum!!!
Merci beaucoup
Oups pardon! En fait la feuille copiée du classeur X s'appelait
"RAPPORT_FINAL"! Je demande donc à la macro de renommer la feuille par la
valeur de la cellule C1! Ainsi lorsque la maro applique la macro qui
sauvegarde le fichié, elle le sauvegarde sous le nom approprié! Voilà!
Excellente soirée à toi stephane et merci encor (je sais ça fait beaucoup
de
fois que je le dis mais bon, vaut mieux plusieurs fois qu'une) ! et peut
être
à bientôt dans la nuit!!! ; - ) g pas encror fini de mon coté ; -(
Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name >> Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
E01BEAAB-A0CA-43C6-824C-4E820D69B810@microsoft.com...
Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38
...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de
mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il
passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait
un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph
.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
BDA60CEF-BA04-4E78-B15E-60F5CEB4D4E9@microsoft.com...
Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans
les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau
classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon
répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au
répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!
Voilà! J'aurai peut être du commencer par ça !! En espérant que
ça
puisse
t'aider à comprendre ma problématique!!!
Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message
de
news:
8CEC93FC-DBA6-4A5F-8234-3149E0661B7B@microsoft.com...
Ca y est ! avec ta façon ça marche ! Mais le problème c'est que
ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste
dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormément
Le lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la
valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder
un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non
!
j'essaye
de le bidouillé pour voir en ce moment même!
Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:rep
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans
la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le
message
de
news:
DFCFCFDF-733A-43BA-82DB-EFFB14B7E238@microsoft.com...
re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX".
Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau
classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord
pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux!
Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette
cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet
à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai
connu
ce
forum!!!
Merci beaucoup
Oups pardon! En fait la feuille copiée du classeur X s'appelait
"RAPPORT_FINAL"! Je demande donc à la macro de renommer la feuille par la
valeur de la cellule C1! Ainsi lorsque la maro applique la macro qui
sauvegarde le fichié, elle le sauvegarde sous le nom approprié! Voilà!
Excellente soirée à toi stephane et merci encor (je sais ça fait beaucoup
de
fois que je le dis mais bon, vaut mieux plusieurs fois qu'une) ! et peut
être
à bientôt dans la nuit!!! ; - ) g pas encror fini de mon coté ; -(Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name >> Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" a écrit dans le message de
news:Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38
...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de
mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il
passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait
un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de
news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans
les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau
classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon
répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au
répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que
ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message
de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que
ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste
dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la
valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder
un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non
!
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans
la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le
message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX".
Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau
classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord
pour
me
l'enregistrer!
Mon autodiagnostique :
Ce n'est pas un problème du au chemin d'accès. En effet j'ai
tester
ce
code
sur mon classeur X et il s'enregistre bien là ou je veux!
Pour
moi
c'est
parcequ'Excel ne parvient pas à retourné chercher cette
cellule
B35
dans
mon
classeur X! Je pense que le bon code serai quelque chose du
genre
:
ActiveWorkbook.SaveAs filename:= _
Range("X.xls!LIEN!B35") & ActiveSheet.Name & ".xls"
où X.xls apparaitrait!!!!
Voilà, mon diagnostic est peut être faux dopnc je m'en remet
à
votre
savoir
car le mien est en pleine apprentissage depuis que j'ai
connu
ce
forum!!!
Merci beaucoup
Bonjour,
Est-ce que la Sub Enregist5()
que je t'ai donnée convient?
Car vu ton explication (je suis dur à la comprenette) soit
tu enregistres exactement le même fichier dans les 5 répertoire différents
soit
si C1ou quelquechose doit changer avant chacun des 5 enregistrements ,
il faut le prévoit dans la boucle!(Alors préciser quoi pour le mettre dans
la macro).
a+
lSteph
"Daniel" a écrit dans le message de news:Oups pardon! En fait la feuille copiée du classeur X s'appelait
"RAPPORT_FINAL"! Je demande donc à la macro de renommer la feuille par la
valeur de la cellule C1! Ainsi lorsque la maro applique la macro qui
sauvegarde le fichié, elle le sauvegarde sous le nom approprié! Voilà!
Excellente soirée à toi stephane et merci encor (je sais ça fait beaucoup
de
fois que je le dis mais bon, vaut mieux plusieurs fois qu'une) ! et peut
être
à bientôt dans la nuit!!! ; - ) g pas encror fini de mon coté ; -(Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name > >> Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" a écrit dans le message de
news:Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38
...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de
mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il
passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait
un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de
news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans
les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau
classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon
répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au
répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que
ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message
de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que
ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste
dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la
valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder
un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non
!
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans
la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le
message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX".
Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau
classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord
pour
me
l'enregistrer!
Bonjour,
Est-ce que la Sub Enregist5()
que je t'ai donnée convient?
Car vu ton explication (je suis dur à la comprenette) soit
tu enregistres exactement le même fichier dans les 5 répertoire différents
soit
si C1ou quelquechose doit changer avant chacun des 5 enregistrements ,
il faut le prévoit dans la boucle!(Alors préciser quoi pour le mettre dans
la macro).
a+
lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de news:
099B61AD-7E64-4248-909F-50C44B7F10CE@microsoft.com...
Oups pardon! En fait la feuille copiée du classeur X s'appelait
"RAPPORT_FINAL"! Je demande donc à la macro de renommer la feuille par la
valeur de la cellule C1! Ainsi lorsque la maro applique la macro qui
sauvegarde le fichié, elle le sauvegarde sous le nom approprié! Voilà!
Excellente soirée à toi stephane et merci encor (je sais ça fait beaucoup
de
fois que je le dis mais bon, vaut mieux plusieurs fois qu'une) ! et peut
être
à bientôt dans la nuit!!! ; - ) g pas encror fini de mon coté ; -(
Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name > >> Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
E01BEAAB-A0CA-43C6-824C-4E820D69B810@microsoft.com...
Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38
...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de
mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il
passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait
un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph
.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message de
news:
BDA60CEF-BA04-4E78-B15E-60F5CEB4D4E9@microsoft.com...
Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans
les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau
classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon
répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au
répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!
Voilà! J'aurai peut être du commencer par ça !! En espérant que
ça
puisse
t'aider à comprendre ma problématique!!!
Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le message
de
news:
8CEC93FC-DBA6-4A5F-8234-3149E0661B7B@microsoft.com...
Ca y est ! avec ta façon ça marche ! Mais le problème c'est que
ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste
dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormément
Le lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la
valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder
un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non
!
j'essaye
de le bidouillé pour voir en ce moment même!
Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:rep
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans
la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" <Daniel@discussions.microsoft.com> a écrit dans le
message
de
news:
DFCFCFDF-733A-43BA-82DB-EFFB14B7E238@microsoft.com...
re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX".
Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau
classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord
pour
me
l'enregistrer!
Bonjour,
Est-ce que la Sub Enregist5()
que je t'ai donnée convient?
Car vu ton explication (je suis dur à la comprenette) soit
tu enregistres exactement le même fichier dans les 5 répertoire différents
soit
si C1ou quelquechose doit changer avant chacun des 5 enregistrements ,
il faut le prévoit dans la boucle!(Alors préciser quoi pour le mettre dans
la macro).
a+
lSteph
"Daniel" a écrit dans le message de news:Oups pardon! En fait la feuille copiée du classeur X s'appelait
"RAPPORT_FINAL"! Je demande donc à la macro de renommer la feuille par la
valeur de la cellule C1! Ainsi lorsque la maro applique la macro qui
sauvegarde le fichié, elle le sauvegarde sous le nom approprié! Voilà!
Excellente soirée à toi stephane et merci encor (je sais ça fait beaucoup
de
fois que je le dis mais bon, vaut mieux plusieurs fois qu'une) ! et peut
être
à bientôt dans la nuit!!! ; - ) g pas encror fini de mon coté ; -(Bonsoir Daniel
,
Juste pas compris pourquoi ActiveSheet.Name > >> Sheets("RAPPORT_FINal").Range("c1")
(toujours la même chose sinon
sinon au vu de ce que tu proposes ceci devrait faire l'affaire:
'****
Sub Enregist5()
Dim c As Range
For Each c In Worksheets("LIEN").Range("b35:b39").Cells
ChDir c
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveSheet.Name
ActiveWorkbook.Close
Next
End Sub
'***
'lSteph
"Daniel" a écrit dans le message de
news:Désolé, j'a des grosse galères avec mon PC!
J'utilise à chaque fois une cellule différente, la b35, b36, b37, b38
...
qui se trouve toujours sur la même feuille!
Et le nom "activesheets.name " est différent à chaque fois!
Donc confirme moi si c bon (j'ai pas eu le temps de tester à cause de
mon
pc) mais je peux donc à chaque nouvelle copie de feuille utiliser ces
codes
là :
Dim mypath1 As String
mypath1 = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath2 As String
mypath2 = Worksheets("LIEN").Range("b36")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
Dim mypath3 As String
mypath3 = Worksheets("LIEN").Range("b37")
ActiveSheet.Copy
ActiveSheet.Name = Sheets("RAPPORT_FINal").Range("c1")
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
.....
Je pense que c'est bon!!
Mon fichier est super balaize! il fait plus de 11mo non zipé! il
passera
pas
sur ci-joint! Dit moi si les codes précédent sont bon, sinon je te fait
un
découpage de mon fichié!
j'attend ta réponse!!! Encore et gros MERCI pour ton aide en tout cas
Lsteph.... Tu n'as pas répondu
Si tu utilises toujours la cellule B35
et toujours la même feuille du même classeur
Activesheet.name ...toujours le même nom!!???
Mets ton fichier là
http://cjoint.com
et donne le lien
lSteph
"Daniel" a écrit dans le message de
news:Je t'explique !
Sur mon classeur X j'ai sur une feuille 5 tableaux (TCD) !
La macro à pour action de copier les tableaux et de les coller dans
les
bon
répertoires!
Donc elle fait 5 fois l'opération suivante :
- copie la feuille "rapport" du classeur "X" dans un nouveau
classeur
- supprime dans ce nouveau classeur les colonnes inutiles
- enregistre dans le bon répertoire le nouveau classeur!
D'où l'utlisation de la macro pour sauvegarder dans le bon
répertoire!
Avant le code était:
ActiveWorkbook.SaveAs filename:= _
"C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT" &
ActiveSheet.Name & ".xls"
et ça marchait! mais pour avoir un classeur qui s'adapte au
répertoire
dans
lequel il est installé, j'ai voulut préparé les bon chemins d'accès
dans
la
feuille "LIEN" du classeur "X"!Voilà! J'aurai peut être du commencer par ça !! En espérant que
ça
puisse
t'aider à comprendre ma problématique!!!Tu veux écraser 5 fois le même fichier ou il sont différents ?
Sinon tu dois déjà fermer le premier en ajoutant ceci:
Activeworkbook.close
"Daniel" a écrit dans le message
de
news:Ca y est ! avec ta façon ça marche ! Mais le problème c'est que
ça
marche
qu'une seule fois! Car j'avais dans la même macro, 5 fois la même
opératiçon!!!!
Sinon vraiment pas possible de cette manière en ajoutant juste
dans
le
code
le nom du classeur qui contient la feuille lien et ça cellule B35
???:
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans tous les cas, ton aide à été béton!!! merci énormémentLe lien est bon! je reprend !
Le classeur principal est nommée X
Il contient dans ça feuille nomée "LIEN" en cellule B35 la
valeur
suivante :
C:Documents and
SettingsTISBABureauapplicationETIQUETTESRESULTAT
PAR
PODIUM 6EMetiersSOIE
Ce chemin d'accès corespond à l'endroit où je veux sauvegarder
un
autre
classeur.
Cet autre classeur est créer de la manière suivante: c'est une
feuille
de
mon classeur "X" qui est copié est déplacée dans un nouveau
classeur!
Cette
nouvelle feuille ("classeur1" par default) doit donc être
sauvegarder
vers
son chemin d'accès (qui est donc dans le classeur "X" dans la
feuille
"LIEN"
Cellule "B35") et il sera enregistré sous le nom de sa feuille
active!
J'ai tester le code que tu m'as donnée mais il n'en veut pas non
!
j'essaye
de le bidouillé pour voir en ce moment même!Re,
Peux vérifier sans oublier aucun caractère le contenu de B35
Il faut que cela renvoie correctement un nom de chemin complet
Exemple: c:rep
et non c:repActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
LIEN est une feuille pas un range
de quel classeur?
Donc soit LIEN.[b35]
....
Voici un exemple qui fonctionne (si le chemin est correct dans
la
feuille
LIEN en B35)
'***
Sub test()
Dim mypath As String
mypath = Worksheets("LIEN").Range("b35")
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub
'***
'lSteph
"Daniel" a écrit dans le
message
de
news:re bonjour et pardon d'abuser de ce forum!
Voilà mon souci! C'est la fonction ActiveWorkbook.SaveAs
filename:= _
!!
Le problème est le message d'erreur suivant :
"La méthode 'range de l'objet'-global à échoué" !!!!
Je pense savoir pourquoi !!! J'explique :
J'ai un classeur principal que j'appele pour l'exemple "CX".
Ma
macro
à
pour
action de copier sur un nouveaux classeur (qui par défault
s'appel
"classeur1") une feuille et d''enregistrer ce nouveau
classeur
dans
un
répertoire! C'est ici qu'intervien le code suivant :
ActiveWorkbook.SaveAs filename:= _
Range("LIEN!B35") & ActiveSheet.Name & ".xls"
Dans cette cellule B35 du classeur X ce trouve le chemin
d'accès
vers
le
répertoire ou doit être sauver le classeur1!
Mais le message d'erreur cité ci dessus n'est pas d'accord
pour
me
l'enregistrer!