Fichier Excel VBA Copie

Il existe plusieurs façons de copier ou de déplacer un fichier d'un dossier à un autre. Nous pouvons le faire manuellement depuis Copier et couper l'icône du fichier et le coller dans le dossier de destination. Mais quand il s'agit d'automatiser ce processus de copie du fichier, nous pouvons également le faire dans VBA. Pour copier le fichier, nous avons une fonction disponible en VBA nommée comme même "File Copy".

Syntaxe de FileCopy dans Excel VBA

Il est très facile d'appliquer la copie de fichiers dans VBA. La syntaxe de la copie de fichiers est indiquée ci-dessous.

La copie de fichiers n'a que deux composants à alimenter. Qui sont:

  • Source - Ici, nous allons mettre l'emplacement source d'où nous devons copier le fichier.
  • Destination - Et ce sera le dossier de destination où nous allons coller le fichier copié.

La syntaxe complète sera dans le type de données String. Parce que nous utiliserons le chemin du fichier qui sera sous forme de texte.

Comment copier un fichier dans Excel VBA?

Essayons maintenant avec quelques exemples sur la copie de fichiers VBA dans Excel.

Vous pouvez télécharger ce modèle VBA Copier un fichier Excel ici - VBA Copier un modèle Excel de fichier

Exemple # 1 - FileCopy dans VBA

Dans le premier exemple, nous verrons comment copier un fichier à partir d'un emplacement source et le coller dans un emplacement de destination d'une manière très simple.

Pour cela, nous avons besoin d'un fichier de toute sorte ou extension. Ici, nous envisageons un fichier Excel avec l'extension xlsx . Comme nous pouvons le voir, nous avons placé ce fichier Excel dans un emplacement facile d'accès nommé Test .

Nous allons maintenant copier ce fichier à l'aide de FileCopy dans le dossier de destination ci-dessous.

Étape 1: Pour cela, accédez à VBA et ouvrez une option de menu déroulant du menu Insérer comme indiqué ci-dessous.

Étape 2: Maintenant, dans le module ouvert, écrivez la sous-catégorie de VBA FileCopy ou tout autre nom selon votre choix.

Code:

 Sub VBA_Copy1 () End Sub 

Étape 3: Ouvrez maintenant directement la fonction FileCopy comme indiqué ci-dessous.

Code:

 Sub VBA_Copy1 () FileCopy (End Sub 

Étape 4: Maintenant, entre guillemets, écrivez l'adresse de l'emplacement source suivie du nom de fichier et de l'extension comme indiqué ci-dessous.

Code:

 Sub VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", End Sub 

Étape 5: Pour l'emplacement de destination, placez à nouveau le chemin dans des virgules inversées, suivi du fichier et de l'extension.

Code:

 Sub VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", "D: \ VPB File \ April Files \ Hello.xlsx" End Sub 

Étape 6: compilez maintenant le code et exécutez-le en cliquant sur le bouton Lecture situé sous la barre de menus. Nous verrons, le fichier Excel avec le nom Test est maintenant copié de l'emplacement source vers l'emplacement de destination comme indiqué ci-dessous. Comme il n'y avait rien dans le fichier, la taille du fichier est de 0 Ko .

Exemple # 2 - FileCopy dans VBA

Dans un autre exemple, nous verrons comment copier le fichier de l'emplacement source vers la destination en définissant la variable. Ce processus est peu long mais plus fiable car nous allons fixer les paramètres et les variables.

Étape 1: Maintenant, ouvrez d'abord un nouveau module et écrivez la sous-catégorie de VBA File Copy comme indiqué ci-dessous.

Code:

 Sub VBA_Copy2 () End Sub 

Étape 2: Tout d'abord, définissez une variable où nous mettrons l'emplacement source du fichier même fichier Excel que nous avons utilisé dans l'exemple-1 en tant que chaîne.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String End Sub 

Étape 3: De la même manière, nous aurons besoin d'une autre variable pour l'emplacement de destination.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String End Sub 

Étape 4: Maintenant, placez l'emplacement dans la première variable définie qui est " FirstLocation " avec le nom du fichier et son extension.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" End Sub 

Étape 5: De la même manière, faites la même chose pour l'emplacement de destination en utilisant la variable « SecondLocation» que nous avons définie ci-dessus.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" End Sub 

Étape 6: Il est maintenant temps d'utiliser la fonction FileCopy .

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy End Sub 

Selon la syntaxe de FileCopy d'abord, nous devons mettre l'emplacement source, où nous avons conservé le fichier. Mais comme nous avons déjà défini les dossiers d'emplacement source et de destination ci-dessus pour les deux variables.

Étape 7: Ici, nous pouvons donc sélectionner directement ces variables. Sélectionnez d'abord la variable d'emplacement source qui est FirstLocation .

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy FirstLocation End Sub 

Étape 8: Toujours de la même manière, sélectionnez la variable d'emplacement de destination qui est SecondLocation comme indiqué ci-dessous.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub 

Étape 9: Une fois terminé, nous compilerons le code en appuyant sur la touche fonctionnelle F8. Et si aucune erreur n'est trouvée, exécutez le code. Nous verrons, le fichier de l'emplacement source est copié et collé dans le dossier de destination comme indiqué ci-dessous.

Nous pouvons également essayer différents chemins de localisation. Pour le test, considérons un autre emplacement source où nous aurons un fichier Word.

Comme nous pouvons le voir, le fichier ne contient aucune donnée, la taille est donc de nouveau affichée à 0 Ko.

Et le dossier de destination sera le dossier Output Location qui se trouve sous le dossier Input Location. Si nous voyons à l'intérieur du fichier, il n'y a pas de données disponibles.

Nous allons maintenant remplacer la source et la destination dans les variables FirstLocation et Second Location respectivement, suivies du nom du fichier et de son extension.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ VPB File \ April Files \ New Excel \ Test Case.docx" SecondLocation = "D: \ VPB File \ April Files \ Final location \ Test Case. docx "FileCopy FirstLocation, SecondLocation End Sub 

Exécutez maintenant le code.

Nous verrons, le fichier Word de test est maintenant copié du dossier Emplacement d'entrée vers le dossier Emplacement de sortie avec la même taille qui est de 0 Ko.

Avantages de FileCopy dans VBA

  • Il peut être utilisé pour copier plus d'un fichier en une seule fois.
  • Il faut autant de temps pour 10 fichiers que pour copier un fichier.
  • Nous pouvons utiliser n'importe quel type de fichier d'extension que nous voulons copier.

Choses dont il faut se rappeler

  • Mettez toujours le nom du fichier et son extension à la fin du nom de l'emplacement.
  • Citez les liens de destination et d'emplacement source dans des virgules inversées.
  • Une fois cela fait, enregistrez le code dans la macro pour permettre à Excel d'utiliser et de conserver le code à des fins futures.
  • Accordez toujours l'autorisation de coder afin qu'il puisse copier le fichier à partir de l'emplacement source et le coller dans un emplacement de destination.

Articles recommandés

Ceci est un guide de FileCopy dans VBA. Nous expliquons ici comment copier un fichier Excel à l'aide du code VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Travailler avec VBA Active Cell
  2. Suppression d'une ligne dans VBA
  3. Comment utiliser Excel VBA Transpose?
  4. Comment réparer l'erreur 1004 en utilisant VBA

Catégorie: