Excel 2003 Macro pour diviser un classeur en plusieurs

  • Initiateur de la discussion Initiateur de la discussion kenavo
  • 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 !

kenavo

XLDnaute Junior
Bonjour,

J' ai de nouveau besoin d' aide
J' ai une erreur dans une macro permettant de diviser une feuille en plusieurs classeur suivant un filtre
J' ai une erreur mais je ne trouve pas laquelle : l' indice n' appartient pas a la sélection

Si ce n'est pas trop abusé j' aimerais aussi faire en sorte qu'on ait pas à copier le données dans l' onglet Données mais qu'il ouvre un autre fichier et copie la feuille de donnée du fichier d' origine

la macro :
Code:
'Divise feuille en plusieurs classeur suivant le filtre

Sub Decouper()
Dim Rg As Range
Dim Wk As Workbook, Rg1 As Range
Dim Sh As Worksheet, Chemin As String
Dim nom As String

Worksheets("Donnees").Select
Set Sh = ActiveSheet
With Sh
    Set Rg = .Range("A1:N" & .Range("A65536").End(xlUp).Row)
End With
Do
    With Rg
        Workbooks("110").Activate
        Worksheets("Donnees").Select
        'Trier par ordre croissant
        .Sort Key1:=Rg(1, 2), Header:=xlYes
        'Filtre automatique
        .AutoFilter Field:=2, Criteria1:=Rg(1, 2)
        Workbooks("110").Activate
        Worksheets("Donnees").Select
        Set Rg1 = Sh.Range("_FilterDataBase")
            .SpecialCells (xlCellTypeVisible)
        Cells.Select
        Selection.Copy
        Set Wk = Workbooks.Add(-4167)
        ActiveSheet.Paste
        'Definition du nom des fichiers créés
        nom = " - Code.xls"
        'Ajoute le code agence en début du nom du fichier
        A = Rg(1, 2).Value
        ActiveWorkbook.SaveAs Filename:=A & nom
        ActiveWorkbook.Close
        Application.DisplayAlerts = False
        Rg1.Offset(1).Delete

        Workbooks("110").Activate
        Worksheets("Donnees").Select
        
    End With
    
Loop Until Rg(1, 2) = ""
Application.EnableEvents = True
Application.DisplayAlerts = False
Application.DisplayAlerts = True
Set Wk = Nothing: Set Sh = Nothing
    
        
End Sub

Merci d' avance
 

Pièces jointes

Dernière édition:
Re : Excel 2003 Macro pour diviser un classeur en plusieurs

Re

Sans certitude !!
Ne serait-ce pas parceque le fichier 110 est lui même dans 'Mes Documents'
A moins qu'il ne s'agisse de l'option par defaut de ton Excel
Pour les mettre ailleurs il convient de donner l'integralité du chemin lors de la Sauvegarde type "C:/c'estici/que/je/veux/lemettre/lui.xls"
 
Re : Excel 2003 Macro pour diviser un classeur en plusieurs

Non en fait si je place 110.xls sur le bureau il me met les fichiers sur le bureau,
ensuite si je le copie ds mes Documents, il le remets les fichiers sur le bureau, je supprime tout, relance et là ok il les mets ds mes Documents
Pas bien grave ensuite il sera mis a un endroits bien précis

Merci beaucoup
 
- 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

Discussions similaires

Réponses
4
Affichages
177
  • Question Question
Réponses
7
Affichages
324
Réponses
7
Affichages
163
Retour