Erreur Automation

Résolu
Bonjour,

J'ai un fichier avec plusieurs onglets. Je souhaite créer un nouveau classeur pour chaque onglet et sauvegarder ces classeurs dans un répertoire.

Ci-dessous le code que j'ai créé mais qui ne fonctionne pas..

For Each Feuille In ActiveWorkbook.Worksheets
Feuille.Activate
If Feuille.UsedRange.Cells.Address = "$A$1" And IsEmpty(Feuille.Range("A1")) And Feuille.Shapes.Count = 0 Then
Application.DisplayAlerts = False
Feuille.Delete
Application.DisplayAlerts = True
ElseIf Feuille.Name <> "Feuil1" And Feuille.Name <> "Feuil2" Then
Feuille.Move
ActiveWorkbook.Title = Feuille.Name
ActiveWorkbook.subject = Feuille.Name
ActiveWorkbook.SaveAs Filename:=chemin & Feuille.Name & ".xlsx"
End If
Next Feuille


Ca affiche un message d'erreur "Erreur Automation" en arrivant à la ligne suivante :

ActiveWorkbook.Title = Feuille.Name


Je ne sais pas du tout comment résoudre ce problème ni à quoi est dûe l'erreur..

Merci de votre aide !

Cordialement,

1 réponse

  1. Bonjour

    [...] ni à quoi est dûe l'erreur..

    .Title et .Subject ne sont pas des propriètés de workbook !
    1. Bonjour,

      Merci de ta réponse,
      J'avais essayé en enlevant ces deux lignes mais la même erreur apparaît sur la ligne suivante :

      ActiveWorkbook.SaveAs Filename:=chemin & Feuille.Name & ".xlsx"
    2. chemin est-il défini ???
    3. Oui le chemin est bien défini et est utilisé ailleurs dans la macro. Il est donc défini correctement.
    4. Bonjour,

      Il pourrait être bon de tester les variables pour être sur que tout correspond à ce que tu veux.
      Un bon vieux msgbox pourrait faire.

      msgbox Feuille.Name
      msgbox chemin
      msgbox chemin & Feuille.Name & ".xlsx"

      Cela aussi pourrait permettre de voir s'il manque un \ entre le chemin et le nom.
    5. Bonjour,

      Malheureusement j'ai déjà testé les variables et tout est correct. Je ne comprends pas du tout cette erreur