Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean) '*****Nombre de palettes*****
'.........suivant le chiffre saisis on fabrique un MultiPage dont le nombre de pages correspond au nombre de palette....
If TextBox5.Value = "" Then Exit Sub '...........................................Si vide on quitte la procédure.....
Dim i As Integer, NbPal As Double, j As Integer '................Déclaration des variables.....
Dim Fond As Control, Imag As Control '.......Déclaration des variables.....
'Pal = MultiPage.....
'NbPal = nombre de palettes donc nombre de page du MultiPage.....
'Fond = Label de couleur de fond des pages.....
'Imag image palette.....
'--------------------------Création du MultiPage-------------------------------------------------------------------------------------------------
Set Pal = Me.Controls.Add("Forms.MultiPage.1", "Multi1", False) '.........................On ajoute un MultiPage.....
'*** début nouveau
' Pal.Pages.Add
NbPal = TextBox5.Value '...................................................Nombre de palettes.....
If Pal.Pages.Count > NbPal Then
For i = Pal.Pages.Count To 1 Step -1
If i > NbPal Then Pal.Pages.Remove (i - 1) Else Exit For
Next i
Else
diff = NbPal - Pal.Pages.Count
For i = 1 To diff
nom = "Palette" & NbPal + i
Set m = Pal.Pages.Add(Pal.Pages.Count + 1, nom, 1)
Next i
'Set m = MultiPage1.Pages.Add("Page5", "NewPage", 1)
End If
'*** fin nouveau
With Pal '.......................................................................Prise en compte du MultiPage.....
.Top = 210 '.........................Position Top.....
.Left = 5 '..........................Position Left....
.Width = 630 '.......................Largeur.....
.Height = 208 '......................Hauteur.....
' For i = 1 To NbPal ' - 2 '.............Boucle sur le nombre de palettes.....
'' If NbPal = 0 Then Exit For '.....Si Nb = 0 (2 palettes seulement) on sort de la boucle.....
' If i > 0 Then .Pages.Add '.....................On ajoute une page
' Next i
End With '.......................................................................Fin de prise en compte.....
For i = 0 To NbPal - 1 '.........................................................Boucle sur les pages.....
Pal.Pages(i).Caption = "Palette " & i + 1 '..................................Nom de la page.....
'--------------------------Ajout d'un Label de fond en couleur-----------------------------------------------------------------------------------
Set Fond = Pal.Pages(i).Controls.Add("Forms.Label.1", , True) '..............On ajoute un Control Label.....
With Fond
.Width = 630
.Height = 208
.BackColor = RGB(120, 120, 120)
.ZOrder (1)
End With
'--------------------------Ajout d'une image palette sur les pages--------------------------------------------------------------------------------
Set Imag = Pal.Pages(i).Controls.Add("Forms.Image.1", , True) '..............On ajoute un Control image.....
Set Img = Sheets("Temp1").Shapes("Palette_eur")
Img.CopyPicture xlBitmap 'xlScreen, xlPicture
With Imag
.Width = 83
.Height = 48
.BorderStyle = 0
.BackStyle = 0
.PictureSizeMode = 1
.Top = 136
.Left = 537
End With
Set Imag.Picture = PastePicture()
'--------------------------Ajout d'un Label palette sur les pages--------------------------------------------------------------------------------
Set Fond = Pal.Pages(i).Controls.Add("Forms.Label.1", , True) '..............On ajoute un Control Label.....
With Fond
.Width = 83
.Height = 18
.BackStyle = 0
.ForeColor = RGB(255, 255, 255)
.TextAlign = 2
.Font.Name = "calibri"
'.Font.Bold = True
.Font.Size = 12
.Caption = "Palette n° " & i + 1
.Left = 537
.Top = 116
End With
Next i '.........................................................................Page suivante.....
Pal.Visible = True '.............................................................On rend visible le Multipage.....
Frame1.Visible = True '..........................................................On rend visible le Frame Composition.....
StatutPage.Value = Pal.SelectedItem.Index '......................................Mémorise la page où on est.....
End Sub