Bonjour,
j'ai fait une macro qui me permettrait de copier un fichier sélectionné sur le disque directement à une feuille de calcul en l'appliquant à un bouton de commande, je rencontre trois difficultés :
1 - une boîte de dialogue apparaît pour demander à l'utilisateur de sélectionner le fichier, je ne sais pas comment utiliser le fichier directement sans passer par
J'aimerais que les données soient importées directement sans demander d'ouvrir le fichier. Est ce que c'est possible ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.Dialogs(xlDialogOpen).Show(Chemin & "Export tempo\réseau en cours.xl*")
2-Après avoir sélectionné le fichier, une boîte de dialogue apparaît pour gérer l'import (choisir le format, le séparateur des colonnes), j'aimerais éviter cela.
3-La macro n'importe pas correctement le format de date, les dates ne sont plus toutes regroupées par année, du coup cela me fausse le filtre sur la date, c'est le plus embêtant !
Pourriez vous m'aider svp ?
Merci d'avance pour votre aide
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 'DestBook = classeur de dstination et SourceBook=classeur source Dim DestBook As Workbook, SourceBook As Workbook Dim DestCell As Range Dim RetVal As Boolean Dim Chemin As String ' désactiver le rafraichissement de l'écran avant la macro Application.ScreenUpdating = False 'chemin en relatif du dossier ou se trouve tes données Chemin = "C:\" ' Set object variables for the active book and active cell. Set DestBook = ActiveWorkbook Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).ClearContents Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).ClearFormats Set DestCell = Range("A1") 'active la cellule où j'aimerais copier les données 'Ouvre la boîte de dialogue RetVal = Application.Dialogs(xlDialogOpen).Show(Chemin & "Export tempo\réseau en cours.xl*") ' If Retval is false (Open dialog canceled), exit the procedure. If RetVal = False Then Exit Sub ' active le classeur à partir duquel copier les données Set SourceBook = ActiveWorkbook ' copie entièrement la feuille de calcul Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Copy ' Active la feuille de destination et une cellule de cette feuille DestBook.Activate DestCell.Activate ActiveSheet.Paste 'colle les formats et les valeurs des cellules Selection.PasteSpecial Paste:=xlPasteValues, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False Selection.PasteSpecial Paste:=xlPasteFormats, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False SourceBook.Close False Application.ScreenUpdating = True Application.DisplayAlerts = False ActiveSheet.Name = "en cours liste complète réseau" ' Ferme le classeur contenant les données à copiée
Partager