OVH Cloud OVH Cloud

ActiveWorkbook.SaveAs filename

15 réponses
Avatar
Daniel
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

10 réponses

1 2
Avatar
LSteph
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" 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




Avatar
Daniel
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
PODIUM6EMetiersSOIE
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" 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









Avatar
Daniel
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
PODIUM6EMetiersSOIE
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" 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











Avatar
LSteph
...
J'ai tester le code que tu m'as donnée mais il n'en veut pas
Lorsque tu cliques sur débogage , sur quelle instruction le code s'arrête -

il
et quel est le message erreur ?


Que dit ceci:

Sub test()
Dim mypath As String
mypath = "C:Documents and SettingsTISBA"
ActiveSheet.Copy
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name
End Sub



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

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
PODIUM6EMetiersSOIE
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" 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











Avatar
LSteph
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é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
PODIUM6EMetiersSOIE
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" 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













Avatar
Daniel
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é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
PODIUM6EMetiersSOIE
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" 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


















Avatar
MPi
Salut,
je ne sais pas si ça peut t'aider mais bon...

Dim Répertoire As String, FichierASauvegarder As String

Répertoire = Range("B35")

'Création d'un nouveau classeur et première sauvegarde
Workbooks.Add
FichierASauvegarder = ActiveSheet.Name & ".xls"
ActiveWorkbook.SaveAs Répertoire & FichierASauvegarder

'Faire les manoeuvres nécessaires
Windows("X.xls").Activate
'Copier/coller
'ou autres interventions

'Dernière sauvegarde et fermeture
Windows(FichierASauvegarder).Activate
ActiveWorkbook.Save
ActiveWorkbook.Close

Michel

"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é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


PODIUM6EMetiersSOIE
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" 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













Avatar
Daniel
Bas en fait même problème qu'avant mais j'ai bidoull" un peu (je connaissait
pas trop les fonction dim et string... Donc il suffit de changer le nom de la
variable et ça marche en fait:
- dim repertoire 1
- dim repertoire 2
- ...

Je vérifie quand tout d'abord!!!



Salut,
je ne sais pas si ça peut t'aider mais bon...

Dim Répertoire As String, FichierASauvegarder As String

Répertoire = Range("B35")

'Création d'un nouveau classeur et première sauvegarde
Workbooks.Add
FichierASauvegarder = ActiveSheet.Name & ".xls"
ActiveWorkbook.SaveAs Répertoire & FichierASauvegarder

'Faire les manoeuvres nécessaires
Windows("X.xls").Activate
'Copier/coller
'ou autres interventions

'Dernière sauvegarde et fermeture
Windows(FichierASauvegarder).Activate
ActiveWorkbook.Save
ActiveWorkbook.Close

Michel

"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é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


PODIUM6EMetiersSOIE
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" 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


















Avatar
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é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
PODIUM6EMetiersSOIE
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" 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




















Avatar
Daniel
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é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
PODIUM6EMetiersSOIE
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" 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

























1 2