Dialog box VBA

rouvebp Messages postés 1 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004 - 8 juil. 2004 à 14:24
dp_favresa Messages postés 132 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 11 mai 2010 - 23 juil. 2004 à 14:54
Mon problème:

Je voudrais, aprés lancement de la macro, que s' ouvre une boite de dialoque dans laquelle je pourrais choisir le fichier à ouvrir. Dans l' exemple ci-dessous le fichier est nommé pde1.txt. J'aimerais pouvoir sélectionner un des mois de l' année.
"TEXT;H:\stktlse\Master&Shipment\2004\9840A\Macro\pde1.txt"

Merci d' avance à celui qui pourrais éventuellement m' aider. J' insère le type de format du fichier pde1.txt.

---------------------MACRO EXISTANT-----------------
Sub FAILPDE()
'
' FAILPDE Macro
' Macro enregistrée le 04/05/2004 par rouvebp
'

'
Workbooks.Add
Application.CommandBars("Drawing").Visible = False
ActiveWindow.WindowState = xlNormal
With ActiveWindow
.Top = 2.5
.Left = 1.75
End With
With ActiveWindow
.Width = 756.25
.Height = 466.25
End With
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;H:\stktlse\Master&Shipment\2004\9840A\Macro\pde1.txt", Destination:= _
Range("A1"))
.Name = "pde1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.Refresh BackgroundQuery:=False
End With
Columns("A:N").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Range("C1").Select
'fin substitution
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Feuil1!$A:$F").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique2"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").SmallGrid = False
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
"SYMPTOM", PageFields:="FAIL"
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("DMOD"). _
Orientation = xlDataField
'modif du TD
Range("A1").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("FAIL")
.Orientation = xlColumnField
.Position = 1
End With
'fin
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("Feuil4").Range("A3")
ActiveChart.Location Where:=xlLocationAsNewSheet
Application.CommandBars("PivotTable").Visible = False
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveChart.PlotArea.Select
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "First Passed & End to End Failures on PDE Burn Process 9840A (June 2004)" & Chr(10) & "FAIL1=First Passed & FAILx=End to End"
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlTop
ActiveChart.HasDataTable = False
ActiveChart.Legend.Select
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
Selection.Fill.PresetTextured PresetTexture:=msoTextureBouquet
Selection.Fill.Visible = True
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Data"
Sheets("Feuil4").Select
Sheets("Feuil4").Name = "TD Global"
Sheets("Graph1").Select
Sheets("Graph1").Name = "Graph1"
Sheets("Graph1").Select
Sheets("Graph1").Name = "Pareto"
ActiveChart.ChartArea.Select
ActiveChart.PlotArea.Select
ActiveChart.PlotArea.Select
ActiveChart.ChartType = xlColumnStacked
'Ajout tableau Pareto PR
Sheets("Data").Select
Selection.CurrentRegion.Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Data!$A:$F").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique2"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").SmallGrid = False
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
"CATEG", ColumnFields:="FAIL", PageFields:="FSC"
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("DMOD")
.Orientation = xlDataField
.Caption = "NB DMOD"
.Function = xlCountNums
End With
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("Feuil5").Range("A3")
ActiveChart.Location Where:=xlLocationAsNewSheet
Application.CommandBars("PivotTable").Visible = False
ActiveWindow.WindowState = xlMaximized
Sheets("Graph2").Select
Sheets("Graph2").Name = "Pareto PR"
Sheets("Feuil5").Select
Sheets("Feuil5").Name = "TD PR"
Sheets("Pareto").Select
Sheets("Pareto").Name = "Pareto Global"
Sheets("Pareto PR").Select
ActiveChart.Legend.Select
Selection.Position = xlTop
ActiveChart.ChartArea.Select
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).Select
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveChart.PlotArea.Select
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Classified Failures 9840A on PDE Burn Process (June 2004)" & Chr(10) & "FAIL1=First Passed & FAILx=End to End"
End With
ActiveChart.SeriesCollection(1).Select
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
Selection.Fill.PresetTextured PresetTexture:=msoTextureBouquet
Selection.Fill.Visible = True
'ajout paerto fsc
Sheets("Data").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Data!R1C1:R196C6").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique2"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").SmallGrid = False
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
"FSC", ColumnFields:="FAIL"
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("DMOD")
.Orientation = xlDataField
.Caption = "NB DMOD"
.Function = xlCount
End With
Application.CommandBars("PivotTable").Visible = False
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("Feuil6").Range("A3")
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.Legend.Select
Selection.Position = xlTop
ActiveChart.PlotArea.Select
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Paerto des FSC 9840A"
End With
ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowValue, LegendKey:=False
ActiveChart.HasDataTable = True
ActiveChart.DataTable.ShowLegendKey = True
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
Selection.Fill.PresetTextured PresetTexture:=msoTextureBouquet
Selection.Fill.Visible = True
ActiveChart.Axes(xlValue).MajorGridlines.Select
Sheets("Graph3").Select
Sheets("Graph3").Name = "Pareto FSC"
Sheets("Feuil6").Select
Sheets("Feuil6").Name = "TD FSC"
Sheets("Pareto Global").Select
End Sub

-------------------
Format du fichier Pde1.txt

DMOD,LOOP,FAIL,SYMPTOM,FSC,CATEG
01010992,4,FAIL1,DWXS,none,RW
01011114,5,FAIL1,SOT1,none,SOT
01011114,5,FAIL2,SKEW,none,SKEWC
01011114,5,FAIL3,BSTF,none,BSTF
01011114,5,FAIL4,FUNCT_FSC,5309,FSC
01011409,1,FAIL1,MRGM,none,RW
01011441,6,FAIL1,SKEW,none,SKEWC
01012140,2,FAIL1,DIAG_FSC,5309,FSC
01012269,5,FAIL1,DIAG_FSC,550F,FSC

2 réponses

dp_favresa Messages postés 132 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 11 mai 2010
23 juil. 2004 à 14:52
Bonjour,

Je crois que l'exemple ci-dessous devrait convenir, il ouvre une
boîte de dialogue initialiséé avec la valeur du mois courant.
A contrôler si le nom du fichier pour les mois 1 à 9 est pdex.txt ou
pdex[espace].txt

Dim MoisCourant As Integer, DateJour, MoisDoc As Integer
' ***** Extrait la date dans une cellule
DateJour = Date
Range("B10").Select
ActiveCell.Value = DateJour
' ***** Récupère al valeur du mois dans une autre cellule
Range("B11").Select
ActiveCell.Formula = "=MONTH(B10)"
MoisCourant = ActiveCell.Value
' ***** Demande le mois dans un boîte de dialogue initialisée avec le mois courant
Smois:
MoisDoc = InputBox(" QUEL MOIS ???", , MoisCourant)
If MoisDoc < 1 And MoisDoc > 12 Then
Réponse = MsgBox(" MOIS INEXISTANT !!!", , " ***** ERREUR DE SAISIE *****")
GoTo Smois
End If
' ... \Macro\pde" & MoisDoc & ".txt", Destination:= ...

Bon(ne) courage, développement, salutation...
(choisissez ce qui vous convient) dp
0
dp_favresa Messages postés 132 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 11 mai 2010
23 juil. 2004 à 14:54
Petite correction : dans le test Mois < 1 ... ce n'est pas And mais Or.
Désolé.

Bon(ne) courage, développement, salutation...
(choisissez ce qui vous convient) dp
0
Rejoignez-nous