Comment copier en utilisant le code VBA pour Mac dans Excel ou déplacer des feuilles

Traductions disponibles Traductions disponibles
Numéro d'article: 288402 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Vous pouvez utiliser du code Microsoft Visual Basic pour Applications (VBA) pour copier ou déplacer des feuilles à l'intérieur d'un classeur ou d'un classeur vers un autre Cette procédure est particulièrement utile si vous souhaitez copier ou déplacer de nombreuses feuilles ou effectuer de multiples copies d'une feuille

Cet article fournit des exemples de code VBA permettant d'accomplir ces tâches

Plus d'informations

Microsoft fournit d'illustration uniquement exemples de programmation sans la garantie exprès ou implicite. Cela inclut, mais n'est pas limité aux garanties implicites de qualité ou adéquation à un usage particulier. Cet article suppose que vous êtes familier avec le langage de programmation présenté et les outils utilisés pour créer et pour déboguer des procédures. Ingénieurs de Support technique Microsoft peuvent aider à expliquer la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir qu'a ajouté la fonctionnalité ou pour construire des procédures pour répondre à vos besoins spécifiques. Remarque vous devez placer le code dans un classeur distinct des feuilles In Microsoft Excel 2001 pour Macintosh sans Service Release 1 Microsoft Office 2001 for Mac étant copié.

Excel 2001 pour Macintosh eu un problème quand le code VBA qui copie les feuilles se trouve dans le même classeur que les feuilles étant copié.

Ce problème est avec Service Release 1 résolu pour Microsoft Office 2001 for Mac. Pour informationabout supplémentaire, cliquer sur le numéro, ce problème dans Excel 2001 for Mac ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
286266 Blocage d'Excel lorsque vous tentez de copier la feuille de calcul dans même classeur
:

Exemple de code pour copier des feuilles de calcu

Copie d'une feuille spécifique dans le classeur acti

Sub Copier1()
    'Replace "Sheet1" with the name of the sheet to be copied.
    ActiveWorkbook.Sheets("Sheet1").Copy _
       after:=ActiveWorkbook.Sheets("Sheet1")
End Sub
				

Copiez fois plusieurs une feuille spécifique du classeur actif


Sub Copier2()
    Dim x As Integer
    
    x = InputBox("Enter number of times to copy Sheet1")
    For numtimes = 1 To x
        'Loop by using x as the index number to make x number copies.
        'Replace "Sheet1" with the name of the sheet to be copied.
        ActiveWorkbook.Sheets("Sheet1").Copy _
           After:=ActiveWorkbook.Sheets("Sheet1")
    Next
End Sub
				

Copies multiples de la feuille activ

Sub Copier3()
   Dim x As Integer
   
   x = InputBox("Enter number of times to copy active sheet")
   For numtimes = 1 To x
      'Loop by using x as the index number to make x number copies.
      ActiveWorkbook.ActiveSheet.Copy _
         Before:=ActiveWorkbook.Sheets("Sheet1")
         'Put copies in front of Sheet1.
         'Replace "Sheet1" with sheet name that you want.
   Next
End Sub
				

Copie de toutes les feuilles d'un classeu

Sub Copier4()
   Dim x As Integer

   For x = 1 To ActiveWorkbook.Sheets.Count
      'Loop through each of the sheets in the workbook
      'by using x as the sheet index number.
      ActiveWorkbook.Sheets(x).Copy _
         After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
         'Puts all copies after the last existing sheet.
   Next
End Sub
				

Exemple de code pour déplacer des feuilles de calcu

Déplacement de la feuille active vers une nouvelle position dans le classeu

Sub Mover1()
    ActiveSheet.Move _
       After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
       'Moves active sheet to end of active workbook.
End Sub
				

Déplacement de la feuille active dans un autre classeu

Sub Mover2()
    ActiveSheet.Move Before:=Workbooks("Test.xls").Sheets(1)
    'Moves active sheet to beginning of named workbook.
    'Replace Test.xls with the full name of the target workbook you want.
End Sub
				

Déplacement de plusieurs feuilles du classeur actif dans un autre classeu

Sub Mover3()
   Dim BkName As String
   Dim NumSht As Integer
   Dim BegSht As Integer

   'Starts with second sheet - replace with index number of starting sheet.
   BegSht = 2
   'Moves two sheets - replace with number of sheets to move.
   NumSht = 2
   BkName = ActiveWorkbook.Name
    
    For x = 1 To NumSht
      'Moves second sheet in source to front of designated workbook.
      Workbooks(BkName).Sheets(BegSht).Move _
         Before:=Workbooks("Test.xls").Sheets(1)
         'In each loop, the next sheet in line becomes indexed as number 2.
      'Replace Test.xls with the full name of the target workbook you want.
    Next
End Sub
				

Références

Microsoft Excel X for Mac and later versions

Pour plus de plusieurs informations sur la méthode Copy dans le Visual Basic Editor, cliquez sur Search Microsoft Visual Basic Help dans le menu Aide, type copy method, Vous cliquez sur Rechercher et puis cliquez pour afficher "Copy Method." dont trois rubriques sont répertoriées. Sélectionnez celle qui s'applique aux feuilles de calcul

Pour plus de plusieurs informations sur la méthode Move dans le Visual Basic Editor, cliquez sur Search Microsoft Visual Basic Help dans le menu Aide, type move method , Vous cliquez sur Rechercher et puis cliquez pour afficher "Move Method." dont trois rubriques sont répertoriées. Sélectionnez celle qui s'applique aux feuilles de calcul

Excel 2001 pour Macintosh

Car clique sur le Compagnon Office tout renseignement sur la méthode Copy dans le Visual Basic Editor, tapez copy method, Vous cliquez sur Rechercher et puis cliquez pour afficher "Copy Method (MS Excel VBA)."

Car clique sur le Compagnon Office tout renseignement sur la méthode Move dans le Visual Basic Editor, tapez move method, Vous cliquez sur Rechercher et puis cliquez pour afficher "Move Method (MS Excel VBA)."

Pour plus d'informations sur les problèmes liés à la copie de feuilles de calcul qui contiennent du code dans le même classeur cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft
286266 XL2001 : blocage d'Excel lorsque vous tentez de copier la feuille de calcul dans même classeur

Microsoft Excel 98 Édition Macintos

Car clique sur le Compagnon Office tout renseignement sur la méthode Copy dans le Visual Basic Editor, tapez copy method, Vous cliquez sur Rechercher et puis cliquez pour afficher "Copy Method (Excel 97)."

Car clique sur le Compagnon Office tout renseignement sur la méthode Move dans le Visual Basic Editor, tapez move method, Vous cliquez sur Rechercher et puis cliquez pour afficher "Move Method (Excel 97)."

Propriétés

Numéro d'article: 288402 - Dernière mise à jour: mercredi 31 janvier 2007 - Version: 5.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
Mots-clés : 
kbinfo KB288402 KbMtfr kbmt
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que feraient une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. Si vous relevez des erreurs graves et souhaitez contribuer à l?amélioration du système, vous pouvez compléter l?enquête à votre disposition dans le bas des articles.
La version anglaise de cet article est la suivante: 288402
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com