Bonjour,
j'ai réuni dans une procédure plusieurs instructions qui me permettent de mettre à jour un fichier excel afin de l'importer par la suite dans ma table access.
Jusque là tout semble fonctionner correctement, grâce à de bonnes âmes qui m'ont considérablement guidé.
Aujourd'hui, j'ai besoin d'améliorer ma procédure de mise à jour du fichier excel avant de lancer mon importation.......
Je dois donc insérer deux nouvelles instructions dans ma procédure qui :
1-
- Ajoute une colonne dans chaque onglet de mon fichier excel
- Que cette colonne soit baptisée "CATEGORIE"
- Que chaque cellule de cette colonne soit renseignée avec le nom de l'onglet auquel elle appartient
2-
- Faire un balayage de toutes les cellules dans l'onglet et supprimer les espaces qui peuvent s'y trouver.
Pour ce qui est du dimensionnement, je colle ici le début de ma procédure afin d'y adapter les nouvelles instructions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Private Sub TRAITEMENT_FICHIER_SOURCE_Click() Dim MonFichier As String, i As Integer Dim xlApp As Object Dim MonWk As Object Dim MaFeuil As Object Dim Plage(50) As String, nbf As Integer 'supprime les enregistrements déjà présents de la table NOM CodeDb.Execute "delete * from NOM" MonFichier = OuvrirUnFichier(hWndAccessApp, "Ouvrir", 1, "Microsoft Excel", "xls", CurrentProject.Path) 'ouvre le fichier If MonFichier = "" Then Exit Sub 'sortie si pas de sélection de fichier 'création de l'objet Excel Set MonExcel = CreateObject("excel.application") MonExcel.Visible = False 'force à invisible 'ouvre le fichier Set MonWk = MonExcel.Workbooks.Open(MonFichier) nbf = MonWk.Sheets.Count 'sauve le nombre de feuilles présentes For i = 1 To Worksheets.Count Worksheets(i).Activate ' suppression des filtres Selection.AutoFilter ' libération des volets ActiveWindow.FreezePanes = False ' suppression des 3 premières lignes Rows("1:3").Select Selection.Delete Shift:=xlUp
Voilà l'exposé je vous remercie en tout cas si vous avez pris la peine de lire mon post jusqu'à la fin !!
Partager