ActiveWorkbook.SaveAs

  • Initiateur de la discussion Daniel
  • Date de début
D

Daniel

Guest
bonsoir !

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 'X'. 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
 

Hervé

XLDnaute Barbatruc
Bonsoir daniel, le forum

:)

La synthaxe exact pour trouver une cellule sur un fichier autre que celui actif, n' est pas :

Range('X.xls!LIEN!B35') & ActiveSheet.Name & '.xls'

mais :

workbook('X.xls').sheets('Lien').range('B35')......

essaye avec cette synthaxe.

salut
 

G.David

XLDnaute Impliqué
Salut
J'ignore si j'emplote la bonne méthode , mais je place joujours mon nom de fichier dans une variable string
nom$=range('e4').value & '.xls'
puis le chemin par chdir (mon_chemin)<-- egalement en variable string
pas tres elegant ma&is efficace
Cordialement
G.David
 
D

Daniel

Guest
Bonsoir Hervé et g.david!
J'ai donc essayé de cette manière :
ActiveWorkbook.SaveAs filename:= _
Workbook('gestion des etiquettes.xls').Sheets('Lien').Range('B35') & ActiveSheet.Name & '.xls'

Mais la synthaxe est pas bonne, le message d'erreur étant 'SUB ou Fonction non definie'

G.david, peut tu préciser ta méthode !!
 
D

Daniel

Guest
Oui tout est bon maintenant!

j'utilise ce code :
Dim mypath As String
mypath = Worksheets('LIEN').Range('b39')
ActiveSheet.Copy
ActiveSheet.Name = Sheets('RAPPORT_FINal').Range('h1')
ChDir mypath
ActiveWorkbook.SaveAs ActiveSheet.Name

Avant de copier ma feuille la macro prend note du repertoire ou devra être enregistré mo fichéié par la suite!

Merci à vous tous du coup de pouce et à très bientot
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 898
Membres
103 982
dernier inscrit
krakencolas