Bonjour Trystan441,
Comment fait-on pour avoir la valeur de Range("D10") ? Débutant :oops::oops:
Cdlt.
Jérôme
Version imprimable
Tu surlignes Range("D10") dans ton code -> Clique droit -> Ajouter un espion
Ca te donnera dans la fenêtre en dessous de ta fenêtre de code, ton expression et la valeur qui lui ait associé
Ou alors avec debug.print
Puis Ctrl + G. Ca t'ouvrira la fenêtre d'exécution qui donnera seulement la valeur associé à ton expression range("D10")Code:debug.print range("D10")
Merci beaucoup Trystan441 !! Je teste cela et te fais un retour....
Bonjour à vous tous,
Grâce à vos conseils éclairés (PatrickToulon, Trystan411, ...) j'ai trouvé mes erreurs. La procédure fonctionne désormais parfaitement... Merci à tous !!
La voici :
Code:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 Sub Extract() ' Dim derniere_ligne As Long Dim i As Long Dim Dossier_racine As String Dim Tab() As Variant Dim criteria As Long Dim search As Variant ' 'La data base a t-elle déja été nettoyée ? ' If MsgBox("Has the data base already been cleaned ?", vbYesNo, "Confirmation Request") = vbNo Then 'MsgBox ("On est dans le cas : La base n'a pas encore été nettoyée") 'Saisie du dossier racine (valeur par défaut "P:\EXPORT") Dossier_racine = InputBox("Select the folder where the initial database is located", "Data base folder", "P:\EXPORT") ' MsgBox ("WARNING : The cleaning of the file will start" & Chr(10) & Chr(10) & "Thank you for waiting") ' '------ ON OUVRE LE FICHIER "schema.xml_temporary.xlsx" ET ON VA DANS L'ONGLET "schema.xml_temporary" ------ ' Workbooks.Open Filename:=Dossier_racine & "\" & "schema.xml_temporary.xlsx" Sheets("schema.xml_temporary").Activate ' 'Recherche du numéro de la dernière ligne ' derniere_ligne = Range("A" & Rows.Count).End(xlUp).Row ' 'Suppression des formules éventuelles contenues dans ce fichier (on remplace les "=" par des "-") ' Range("A2:AY" & derniere_ligne).Select Selection.Replace What:="=", Replacement:="-", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False ' Range("A2").Select ' MsgBox ("The Data base has been cleaned" & Chr(10) & Chr(10) & "WARNING : The initial file will be updated !!") ' 'Enregistrement de la data base (ATTENTION : l'ancienne version est écrasée) ' Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="schema.xml_temporary.xlsx" Application.DisplayAlerts = True 'Remettre absolument ensuite MsgBox ("The Data base has been cleaned and saved (overwritten file)" & Chr(10) & Chr(10) & "Data extraction will begin") Else Dossier_racine = InputBox("Select the folder where the database is located", "Data base folder", "P:\EXPORT") Workbooks.Open Filename:=Dossier_racine & "\" & "schema.xml_temporary.xlsx" Sheets("schema.xml_temporary").Activate derniere_ligne = Range("A" & Rows.Count).End(xlUp).Row MsgBox ("Data extraction will begin") End If 'Extraction des données ' 'Mise en place des filtres dans le fichier nettoyé "schema.xml_temporary.xlsx" Range("A1:AY1").Select Selection.AutoFilter ' 'Critères de tri ' 'Activation du fichier "Extract.xlsm", on se place dans l'onglet "Extract" ' Windows("Extract.xlsm").Activate Sheets("Extract").Activate ' criteria = Range("D10").Value search = Range("C12").Value ' 'On revient dans le fichier "schema.xml_temporary.xlsx" et on se place dans l'onglet "schema.xml_temporary" ' Windows("schema.xml_temporary.xlsx").Activate Sheets("schema.xml_temporary").Activate ' MsgBox ("criteria = ") & criteria MsgBox ("search = ") & search ' ActiveSheet.Range("$A$1:$AY$" & derniere_ligne).AutoFilter Field:=criteria, Criteria1:=search, Operator:=xlAnd Range("A1").Select ' MsgBox ("Data extraction completed") ' Call SaveFile ' End Sub Sub SaveFile() Dim Filename As String If MsgBox("Do you want to save 'schema.xml_temporary.xlsx' on your local drive ?", vbQuestion + vbYesNo, "Confirmation Request") = vbYes Then Filename = "schema.xml_temporary_" & Format(Date, "yyyymmdd") & "_" & Format(Time, "hhmmss") & ".xlsx" With Application.FileDialog(msoFileDialogSaveAs) .Title = "Save File as" .InitialFileName = Filename .FilterIndex = 1 ' 1 = xlsx, 2 = xlsm, 3 = xlsb .Show .Execute End With End If End Sub