VBA - Construire une interface d'importation personnalisée

Table des matières

Préféreriez-vous avoir le contrôle sur les utilisateurs qui importent des fichiers, au lieu de leur demander d'utiliser les fonctionnalités d'Excel pour le faire ? Vous avez besoin de plus de contrôle sur vos imports pour validation ou modification à l'import ? Il existe plusieurs façons de le faire et autant de variations d'exigences, mais voici quelques-uns des éléments de base à partir desquels commencer.

1. Mettez le code suivant dans un module puis exécutez-le

Public Sub CustomImport()

'Définir les variables
Dim ImportFile As String
Dim ImportTitle en tant que chaîne
Dim TabName en tant que chaîne
Dim ControlFile As String

'Ouvrir la boîte de dialogue commune et obtenir le nom du fichier
ImportFile = Application.GetOpenFilename( _
"Fichiers Excel, *.xls, Tous les fichiers, *.*")
ImportTitle = _
Mid(ImportFile, InStrRev(ImportFile, "\") + 1)

'Vérifier l'annulation n'a pas été cliqué
Si ImportFile = "False" Alors
Quitter le sous
Fin si

'Importer le fichier
TabName = "MyCustomImport"
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename:=ImportFile
ActiveSheet.Name = TabName
Sheets(TabName).Copier _
Avant : = Classeurs (FichierContrôle).Feuilles(1)
Windows(ImportTitle).Activer
ActiveWorkbook.Close SaveChanges:=False
Windows(ControlFile).Activer

Fin du sous-marin
Remarque : cela fonctionne bien pour les fichiers *.xls, *.xlsx, *.xlsm, *.csv et *.txt. Vous pouvez ajouter ou appeler le code avant le End Sub pour modifier les données importées avant que l'utilisateur ne puisse les toucher.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave