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
|
Sub Test()
Dim Critere As String
Dim Dossier As String
Dim Fichier As String
'demande le critère de tri
Critere = InputBox("Indiquer le point de vente !", "Filtrage")
If Critere <> "" Then
ActiveSheet.Range("$A$5:$G$1444").AutoFilter Field:=1, Criteria1:=UCase(Critere)
'suite du code...
End If
'exécute le filtrage, ici je pense que c'est issu de l'enregistreur de macros donc à voir si
'ça correspond vraiment au résultat souhaité...
ActiveSheet.Range("$A$5:$G$1444").AutoFilter Field:=1, Criteria1:=Critere
Rows("99:831").Select
Selection.Copy
Windows("TEMPLATE.xls").Activate
Rows("6:6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A10").Select
ActiveWindow.SmallScroll Down:=-12
Application.CutCopyMode = False
'demande l'emplacement pour l'enregistrement du fichier
With Application.FileDialog(4)
.Show
On Error Resume Next 'si annuler
Dossier = .SelectedItems(1)
If Err.Number <> 0 Then
Dossier = Dossier & "\"
Else
MsgBox "Vous avez annulé, le fichier ne sera pas enregistré !"
Exit Sub
End If
End With
'construit le chemin complet
Fichier = Dossier & Critere & ".xls"
ActiveWorkbook.SaveAs Filename:=Fichier, FileFormat:=xlExcel8
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
Windows("CAP_OBJECTIFS.xls").Activate
End Sub |
Partager