Les Snippets

Connexion

Copier une feuille excel

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 17/11/2006 10:01:34 et initié par Drikce06 [Liste]
Date de mise à jour : 17/11/2006 15:09:34
Vue : 11338
Catégorie(s) : Divers
Langages dispo pour ce code :
- VB6, VBA
- VB 2005, VB.NET 1.x
- Voir tous les langages pour ce code snippet



Langage : VB6 , VBA
Date ajout : 17/11/2006
Posté par Drikce06 [Liste]
DateMAJ : 17/11/2006
Public Sub CopierFeuilleExcel(ByVal sMonBookDeCopie As String, ByVal sMonBookDeDestination As  String, ByVal sNomFeuilleACopier As  String, ByVal sNomFeuilleCopier As String)
If Dir(sMonBookDeCopie) <> "" And Dir(sMonBookDeDestination) <> "" Then
    Dim xlApp As Excel.Application
    Dim xlBookDeCopie As Workbook
    Dim xlBookDeDestination As Workbook
    Dim As Integer
    Dim As Integer
  If sMonBookDeCopie <> sMonBookDeDestination Then
    Set xlApp = CreateObject("Excel.Application")
    Set xlBookDeCopie = xlApp.Workbooks.Open(sMonBookDeCopie)
    Set xlBookDeDestination = xlApp.Workbooks.Open(sMonBookDeDestination)
    For i = To xlBookDeCopie.Sheets.Count
    
        If xlBookDeCopie.Sheets(i).Name =  sNomFeuilleACopier Then
  
           xlBookDeCopie.Activate
           xlBookDeCopie.Sheets(sNomFeuilleACopier).Select
           xlBookDeCopie.Sheets(sNomFeuilleACopier).Copy  After:=xlBookDeDestination. _
           Sheets(xlBookDeDestination.Sheets.Count)
          
           For j = To xlBookDeDestination.Sheets.Count
          
              If xlBookDeDestination.Sheets(j).Name =  sNomFeuilleCopier Then
          
                 MsgBox "La feuille copiée n'a pas pu  être renommée, ce nom existe déjà!", vbCritical
              
           Exit For
          
              ElseIf j = xlBookDeDestination.Sheets.Count Then
          
                 xlBookDeDestination.Sheets(j).Name =  sNomFeuilleCopier
          
              End If
              
           Next j
          
        Exit For
        
        ElseIf i = xlBookDeCopie.Sheets.Count  Then
        
        MsgBox "La feuille à copier n'existe  pas!", vbCritical
        
        End If
          
    Next i
    
    xlBookDeCopie.Close True
    xlBookDeDestination.Close True
    xlApp.Quit
    
    Set xlBookDeCopie = Nothing
    Set xlBookDeDestination = Nothing
    Set xlApp = Nothing
  ElseIf sMonBookDeCopie = sMonBookDeDestination Then
    Set xlApp = CreateObject("Excel.Application")
    Set xlBookDeCopie = xlApp.Workbooks.Open(sMonBookDeCopie)
    For i = To xlBookDeCopie.Sheets.Count
    
        If xlBookDeCopie.Sheets(i).Name =  sNomFeuilleACopier Then
        
           xlBookDeCopie.Activate
           xlBookDeCopie.Sheets(sNomFeuilleACopier).Select
           xlBookDeCopie.Sheets(sNomFeuilleACopier).Copy  After:=xlBookDeCopie. _
           Sheets(xlBookDeCopie.Sheets.Count)
           For j = To xlBookDeCopie.Sheets.Count
          
              If xlBookDeCopie.Sheets(j).Name =  sNomFeuilleCopier Then
          
                 MsgBox "La feuille copiée n'a pas pu  être renommée, ce nom existe déjà!", vbCritical
              
           Exit For
          
              ElseIf j = xlBookDeCopie.Sheets.Count  Then
          
                 xlBookDeCopie.Sheets(j).Name =  sNomFeuilleCopier
          
              End If
              
           Next j
        
        Exit For
        
        ElseIf i = xlBookDeCopie.Sheets.Count  Then
        
        MsgBox "La feuille à copier n'existe  pas!", vbCritical
        
        End If
          
    Next i
    
    xlBookDeCopie.Close True
    xlApp.Quit
    
    Set xlBookDeCopie = Nothing
    Set xlApp = Nothing
  End If
  
Else
    MsgBox "Le fichier n'existe pas, vérifier le chemin !", vbCritical
    
End If
End Sub

'Exemple  d'utilisation
Private Sub CommandButton1_Click()
    Call CopierFeuilleExcel("C:\Classeur3.xls""C:\Classeur1.xls""Feuil2""CopieDeFeuil2")
    
    Call CopierFeuilleExcel("C:\Classeur3.xls""C:\Classeur3.xls""Feuil2""CopieDeFeuil2")
End Sub
  

Snippets en rapport avec : Copier, Excel, Feuille



Codes sources en rapport avec : Copier, Excel, Feuille

{Visual Basic, VB6, VB.NET, VB 2005} ÔTER PROTECTION FEUILLE D'UN CLASSEUR EXCEL & TROUVER MOT DE PASSE FICHIER
Version de base Enlever la protection de toutes les feuilles d'un classeur EXCEL. le code qui est ...

{Visual Basic, VB6, VB.NET, VB 2005} CODE PERMETTANT DE MANIPULER LES OBJETS EXCEL EN .NET
Le code montre juste les grandes lignes de la manipulation d'une application Excel. ...

{Foxpro} XL8TABLE() : IMPORTE UNE FEUILLE D'UN CLASSEUR EXCEL 97 DANS UNE TABLE VISUAL FOXPRO
* Les noms des champs sont lus dans la première ligne de la feuille * Les colonnes sont importées e...

{Visual Basic, VB6, VB.NET, VB 2005} MACRO POUR TRIER LES FEUILLES D'UN CLASSEUR EXCEL
Cette macro permet de trier dans l'ordre croissant les feuilles d'un classeur excel Il faut créer...

{Visual Basic, VB6, VB.NET, VB 2005} TRIER LES FEUILLES D'UN CLASSEUR EXCEL
Ce code permet de trier dans l'ordre croissant les feuilles d'un classeur excel Sur le formulaire i...

{Visual Basic, VB6, VB.NET, VB 2005} LIEN HYPERTEXTE SOUS EXCEL EN PARTAGE
Création de liens hypertextes sous excel lorsque le classeur est en partage. En effet, lorsque le c...

{Visual Basic, VB6, VB.NET, VB 2005} COPIER LES TEXTES D'UNE DIAPOSITIVE POWERPOINT SAUF LES ESPACES RÉSERVÉS
Ne vous est-il pas arriver de vouloir copier/coller les textes d'une diapositive PowerPoint ? En gé...

{Visual Basic, VB6, VB.NET, VB 2005} DÉMINEUR VBA EXCEL
Un petit démineur en VBA Excel avec lageur, hauteur et nombre de mine variable ...

{Visual Basic, VB6, VB.NET, VB 2005} VBA EXCEL AFFICHER UN NUANCIER DES COULEURS AFIN DE CHOISIR UN CODE COLORINDEX A METTRE DANS LE VBA
Cette routine génère dans la feuille active un nuancier des codes couleurs d'Excel (attention de ...

{Visual Basic, VB6, VB.NET, VB 2005} OUVRIR TOUS LES FICHIERS EXCEL D'UN DOSSIER ET DE SES SOUS-DOSSIERS
Petite macro permettant de choisir un dossier puis de parcourir le dossiers et ses sous-dossiers afi...