Private Sub UserForm_Initialize()
MultiPage1.Pages(0).Visible = True:
Me.MultiPage1.Value = 0 ' Activer la page d'accueil
Dim LigF As Long
Dim Rep, NomFic, sheetsUse As String
Dim i, j As Integer
Dim tableau() As String
If choose Then
sheetsUse = "BdD Noms"
Rep = "J:\Réalisateur\"
Else
sheetsUse = "BdD Acteurs"
Rep = "J:\acteur\"
End If
' Trouver la ligne correspondante au réalisateur
' Avec la feuille contenant les noms
With Sheets(sheetsUse)
' Dans la colonne
With .Columns("B:B")
' En cas d'erreur : nom non trouvée, n continue
On Error Resume Next
' Trouver la ligne contenant le nom
LigF = 1 ' initialiser
LigF = .Find(What:=NomRéalisateur, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False).Row
' Suivi des erreurs normal
On Error GoTo 0
End With
' Si pas de ligne trouvée
If LigF = 1 Then Exit Sub
LigF = LigF
' sinon
Me.Label13.Caption = NomRéalisateur
Me.TextBox1.Value = .Range("A" & LigF).Value
Me.TextBox2.Value = .Range("B" & LigF).Value
Me.TextBox3.Value = .Range("C" & LigF).Value
Me.TextBox4.Value = .Range("D" & LigF).Value
Me.TextBox5.Value = .Range("E" & LigF).Value
Me.TextBox6.Value = .Range("F" & LigF).Value
If .Range("G" & LigF).Value <> "" Then
Me.TextBox7.Value = .Range("G" & LigF).Value
Else
Me.TextBox7.Value = "Non décédé"
End If
End With
NomFic = Label13.Caption
Image1.Visible = True
If Dir(Rep & NomFic & ".jpg") <> "" Then
Image1.Picture = LoadPicture(Rep & NomFic & ".jpg")
Else
Image1.Picture = LoadPicture: End If
'***************************************************
Dim ObjAnnee, ObjFilm As Control
Dim Cl As Classe1
Dim f, g As Integer
g = 1
Set Collect = New Collection
LigF = LigF - 1
With Sheets("BdD_Filmographie")
For i = 2 To 100
If .Cells(LigF, i) <> "" Then
tableau = Split(.Cells(LigF, i), ",")
For j = 0 To UBound(tableau)
Set ObjAnnee = Me.MultiPage1.Pages(2).Controls.Add("forms.TextBox.1") 'Textbox gauche
With ObjAnnee
.Name = "TextAnnee" & g
.Left = 12
.Top = 1 + (g * 1) * 25
.Width = 60
.Height = 18
.Text = Sheets("BdD_Filmographie").Cells(1, i)
.SpecialEffect = 0
.BackColor = &H8000000F
'.ForeColor = &HFFFFFF
End With
Set Cl = New Classe1
Set Cl.TextBox = ObjAnnee
Collect.Add Cl
Set ObjFilm = Me.MultiPage1.Pages(2).Controls.Add("forms.TextBox.1") ' Textbox droite
With ObjFilm
.Name = "TextFilm" & g
.Left = 90
.Top = 1 + (g * 1) * 25
.Width = 160
.Height = 18
.Text = tableau(j)
.SpecialEffect = 0
.BackColor = &H8000000F
'.ForeColor = &HFFFFFF
End With
Set Cl = New Classe1
Set Cl.TextBox = ObjFilm
Collect.Add Cl
g = g + 1
Next
End If
Next
If g > 10 Then
MultiPage1.Pages(2).ScrollHeight = 27 * g
End If
End With
'******************************************
End Sub