VBA Excel: Importer des feuilles vers un classeur
Résolu
                                    
                        Amélie                    
                                    -
                                     
cs_Le Pivert Messages postés 8437 Statut Contributeur -
        cs_Le Pivert Messages postés 8437 Statut Contributeur -
        Bonjour,
Je cherche un code fiable me permettant d'importer les feuilles d'un classeur à un autre.
Concrètement, en ouvrant le classeur contenant la macro puis en appuyant sur un bouton, j'aimerais pouvoir récupérer toutes les feuilles d'un classeur à choisir mais situé dans le même répertoire.
Est-ce que quelqu'un saurait faire?
Merci!
                
            
                
    
    
    
        Je cherche un code fiable me permettant d'importer les feuilles d'un classeur à un autre.
Concrètement, en ouvrant le classeur contenant la macro puis en appuyant sur un bouton, j'aimerais pouvoir récupérer toutes les feuilles d'un classeur à choisir mais situé dans le même répertoire.
Est-ce que quelqu'un saurait faire?
Merci!
        A voir également:         
- Importer données excel vers autre fichier excel vba
 - Liste déroulante excel - Guide
 - Word et excel gratuit - Guide
 - Fichier bin - Guide
 - Déplacer colonne excel - Guide
 - Fichier epub - Guide
 
2 réponses
                        
                            
                    Faire alt f11 pour accéder à l'éditeur
Insérer un UserForm
Mettre un bouton avec ce code
 
                
                
    
                Insérer un UserForm
Mettre un bouton avec ce code
Option Explicit
Private Sub CommandButton1_Click()
 Dim i As Integer
 Dim nom As String
    Workbooks.Open ThisWorkbook.Path & "\" & "Classeur1.xls" 'classeur à copier a adapter le nom
 'on parcourt toutes les feuilles
 For i = 1 To Worksheets.Count
 Workbooks("Classeur1.xls").Activate 'classeur à copier a adapter le nom
nom = Worksheets(i).Name
Sheets(nom).Select
 Sheets(nom).Copy after:=Workbooks("Copier_onglet.xls").Sheets(1) 'classeur à coller a adapter le nom
Next
End Sub
 
    
    
    
    
Et merci pour la réponse! Après avoir essayé le code, je peux affirmer qu'il fonctionne parfaitement! Les onglets n'arrivent pas dans le même ordre, mais ça n'est pas important, l'essentiel y est.
Merci encore!
J'ai ajouté l'effacement des onglets au cas ou.
il faudra ajouter un bouton.
Voici le code:
Option Explicit Private Sub CommandButton1_Click() Dim i As Integer Dim nom As String Workbooks.Open ThisWorkbook.Path & "\" & "Classeur1.xls" 'classeur à copier a adapter le nom 'on parcourt toutes les feuilles For i = 1 To Worksheets.Count Workbooks("Classeur1.xls").Activate 'classeur à copier a adapter le nom nom = Worksheets(i).Name Sheets(nom).Select Sheets(nom).Copy After:=Workbooks("Copier_onglet.xls").Sheets(1) 'classeur à coller a adapter le nom Sheets(nom).Move After:=Sheets(Sheets.Count) 'on met les onglets dans l'ordre Next End Sub Private Sub CommandButton2_Click() Sheets("Recapitulatif").Select EffacementTouteFeuille End Sub Sub EffacementTouteFeuille() Dim Ctr Application.DisplayAlerts = False For Ctr = Sheets.Count To 1 Step -1 If Sheets(Ctr).Name <> ActiveSheet.Name Then Sheets(Ctr).Delete End If Next Application.DisplayAlerts = True End Sub Private Sub UserForm_Initialize() CommandButton1.Caption = "Copier feuilles" CommandButton2.Caption = "Supprimer feuilles" End SubBon WE
@+ Le Pivert