XL 2016 AGRANDIR; MODIFIER; MULTIPAGE

marc.gilliand

XLDnaute Occasionnel
1620992338517.png

Bonjour,

Il n'est pas possible de changer la couleur de fond de trame, ni d'avoir une police et grandeur différente.
Merci de vos réponses
 

ChTi160

XLDnaute Barbatruc
Bonjour marc
Bienvenue sur Xld
Peux tu être plus précis et a l'occasion joindre un fichier avec ce que tu as et ce que tu veux (sans données confidentielles )
mettre en couleur le fond ce n'est pas Possible modifier le format du texte par pages pas possible non plus .
mais peut être en mettant des frame sur le Fond des Pages voir Vidéo
jean marie
 

Pièces jointes

  • Frame Multipage.gif
    Frame Multipage.gif
    24.8 KB · Affichages: 35
Dernière édition:

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour marc, Jean-Marie

Je confirme les propos de ChTi160, il n'et pas possible de modifier la couleur car il n'existe pas de paramètre "back color" pour les pages. Le problème peut être contourné mais c'est une véritable usine à gaz. Concernant les caractères de police DES onglets du Multipage, tu peux faire :
VB:
Private Sub UserForm_Initialize()
With MultiPage1
With .Font
.Name = "ALGERIAN"
.Italic = False
.Size = 18

End With
End With
End Sub
Bon week-end à toutes & à tous
Eric c
 

ChTi160

XLDnaute Barbatruc
Bonjour Marc ,Éric
Bonjour le forum
Eric content de te croiser !
Effectivement et peut être changer de .font lors du changement de page .
Encore faut il savoir pourquoi ou quand il est nécessaire de changer de Font !
Bonne journée à vous
Jean marie
 

Phil69970

XLDnaute Barbatruc
Bonjour à tous

Si tu veux absolument des couleurs différentes par page de ton multi page tu peux le faire .....sans multipage avec par exemple 4 labels titres qui seront "tes onglets de ton pseudo multi pages"
Ce qui donne ceci
VB:
Private Sub UserForm_Initialize()
Dim LongueurLabel As String, X As Byte, i As Byte, DerLig As Integer
LongueurLabel = Me.Width

RechCoul 'Recupere la valeur RGB des codes couleurs

For i = 1 To 4
    Me.Controls("LblTitre" & i).Width = LongueurLabel / 4               'Dimensionne les labels des titres
    Me.Controls("LblTitre" & i).SpecialEffect = 0                       'Effet sur le label des titres
    Me.Controls("LblTitre" & i).BackColor = Feuil5.Range("G" & i + 1)   'Cel "G2" à "G4" (la valeur a été recuperé par RechCoul)
Next i

For i = 2 To 4
    Me.Controls("LblTitre" & i).Left = Me.Controls("LblTitre1").Width * (i - 1)     'Positionne les titres
Next i

LblTitre1.SpecialEffect = 3                 'Effet sur le label 1 des titres car il a le focus
UserForm1.BackColor = Feuil5.Range("G2")    'Couleur de fond identique à la couleur du label 1 des titres car il a le focus

'Contrôle les labels sur l'userform hormis les titres
For i = 5 To 14                             'Couleur de fond des labels de USF identique à la couleur du label des titres
    Me.Controls("Label" & i).BackColor = Feuil5.Range("G2")
Next i

For i = 1 To 3                                              'Contrôle les labels des totaux sur l'userform hormis les titres
    Me.Controls("LblTotal" & i).BackColor = Feuil5.Range("G2")          'Couleur de fond des labels de USF identique à la couleur du label des titres
    Me.Controls("LblTotal" & i).Caption = Feuil4.Range("D" & i + 1) & " " & Format(Feuil1.Range("Q" & i + 1), "# ##0.00 €") ' Cel "Q2" à "Q4"
    Me.Controls("LblTitre" & i).Caption = "Exemple " & Worksheets("Parametre").Range("B" & i + 1).Value    'Nom des titres Cel "B2" à "B4"
Next i

La RechCoul est un module à part ou sont rangé mes couleurs d'onglets
Code:
Sub RechCoul()

For i = 2 To 5
  Feuil5.Range("G" & i) = Feuil5.Range("G" & i).Interior.Color
Next i

End Sub
J'ai un onglet paramètre avec mes codes couleurs paramétrables
1621066921566.png

Et sur chaque clic de mes labels titres ma couleur change
Code:
Private Sub LblTitre1_Click()
UserForm1.BackColor = Feuil5.Range("G2")   ' &HC0C0FF

'Contrôle les labels de titres
For i = 1 To 4
    Me.Controls("LblTitre" & i).SpecialEffect = 0
    Me.Controls("LblTitre" & i).Font.Bold = False
Next i
LblTitre1.SpecialEffect = 3
LblTitre1.Font.Bold = True

'Contrôle les labels sur l'userform hormis les titres
For i = 5 To 17
    Me.Controls("Label" & i).BackColor = Feuil5.Range("G2")  ' &HC0C0FF
Next i

'Contrôle les labels des totaux sur l'userform hormis les titres
For i = 1 To 3
    Me.Controls("LblTotal" & i).BackColor = Feuil5.Range("G2") '  &HC0C0FF            'Couleur de fond des labels de USF identique à la couleur du label des titres
    Me.Controls("LblTotal" & i).Caption = Feuil4.Range("D" & i + 1) & " " & Format(Feuil1.Range("Q" & i + 1), "# ##0.00 €")
Next i

'Contrôle les boutons options sur l'userform
For i = 1 To 2
    Me.Controls("Opt" & i).BackColor = Feuil5.Range("G2") '  &HC0C0FF
Next i

'Contrôle la frame sur l'userform
Me.Controls("Frame1").BackColor = Feuil5.Range("G2") '  &HC0C0FF







'********* Vidage des champs au changement de label des titres

'Vider des boutons option
For i = 1 To 2
    Me.Controls("Opt" & i).Value = False                    'Vider des boutons option
Next i

'Vider tous les champs des textbox
For i = 3 To 11
    Me.Controls("Textbox" & i).Text = ""
Next i

'Vider la combobox
Me.ComboBox1.Value = ""






End Sub

Ok c'est lourd à gérer mais il faut au départ bien "indicer" tous les codenames des labels, textbox etc.....

1621067464313.png

Ce qui donne avec la couleur de fond qui change en fonction du label "actif" :
1621067774054.png

1621067802393.png

1621067832519.png

1621067877443.png


Je sais c'est se compliquer la vie pour recréer un multi page mais pour mon besoin personnel cela fonctionne très bien.....
*Je pense qu'il faut avoir un minimum de connaissances en vba sinon laisse tomber...
*Il y a surement plus light pour les super pro du vba

@Phil69970
 

Discussions similaires

Réponses
10
Affichages
363
  • Question
Microsoft 365 Tableau
Réponses
24
Affichages
904

Statistiques des forums

Discussions
315 126
Messages
2 116 491
Membres
112 763
dernier inscrit
issam2020