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 !
    0
    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"
      0
    2. chemin est-il défini ???
      0
    3. Oui le chemin est bien défini et est utilisé ailleurs dans la macro. Il est donc défini correctement.
      0
    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.
      0
    5. Bonjour,

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