ActiveWorkbook.SaveAs

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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 !!
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour