VBA et les UserForms sous Excel

Fermé
XRay - 23 oct. 2003 à 16:29
 ROUVELLAT Bernard - 7 juil. 2004 à 11:14
Hello !
Je voudrai pouvoir éxécuter automatiquement un code VBA à l'ouverture d'un UserForm.
En fait, le seul emplacement que j'ai trouvé pour saisir mon code est le suivant :

Private Sub UserForm_Click()

End Sub

C'est à dire qu'il faut cliquer sur la fenêtre (le UserForm) pour que le code s'execute. Moi je voudrais que le code s'execute dès que le userform se lance. Est-ce possible ?
Je paye des cacahuètes à celui qui trouve ! ;o)
Merci d'avance !
A voir également:

2 réponses

DaNot Messages postés 221 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 4 novembre 2005 163
23 oct. 2003 à 16:52
Bonjour,

Il y a aussi la méthode Initialize généralement utilisée pour initialiser toutes les variables du UserForm.

Une seule question reste en suspend : Est-ce moi qui a gagné les cacahuettes ?

DaNot
0
Ben en fait, j'ai pas fais comme ca ! J'ai réussi (après 1H de galère) à trouver une solution à mon problème !!! Mais si tu y tiens vraiment, jte paye le paquet de cachuètes ! No prob ;o)
0
ROUVELLAT Bernard
7 juil. 2004 à 11:14
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
0