Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…