Super : ça marche ....... dans une macro excell
Seulement je suis un gros nul et je me bats depuis ce matin pour ajuster les paramètres dans le module VB de access.
En fait j'ai un début de procédure qui déclare ces variables et je ne sais pas adapter ton code à mon début de procédure (forcément c'est quelqu'un d'autre qui m'a fortement aidé à le créer)
mais chut ..... ne le répétez pas !!!!
Je donne donc le début de procédure pour voir si c'est suffisant, sinon je peux donner le code entier mais je ne pense pas que cela soit nécessaire.
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 SCORPENE>>>>>>>>>>>>>>>>>>>>>>>>>>>
CodeDb.Execute 'delete * from SCORPENE'
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
' 'insertion du champ catégorie dans chaque onglet
Dim F As Worksheet
Dim Plage As Range
Dim L As Long, C As Integer
For Each F In Worksheets
With F
Set Plage = .UsedRange
C = Plage.Column + Plage.Columns.Count
L = Plage.Row + Plage.Rows.Count - 1
.Cells(Plage.Row, C).Value = 'CATEGORIE'
.Range(.Cells(Plage.Row + 1, C), .Cells(L, C)).Value = .Name
End With
Next F
Voilà le problème, j'avoue que je ne suis pas pardonnable ou alors j'ai les yeux plus gros que le ventre, que sais-je
Nobody's perfect !!
Merci encore pour cette attention