mise en forme d'un fichier xls à partir de vb dans acces

mise en forme d'un fichier xls à partir de vb dans acces - VB/VBA/VBS - Programmation

Marsh Posté le 27-09-2005 à 09:03:42    

Bonjour,  
j'ai réuni dans une procédure VB Access 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.  
 
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 !!

Reply

Marsh Posté le 27-09-2005 à 09:03:42   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed