XL 2013 Mise en forme affichage de la fenêtre de "Validation de données"

michir

XLDnaute Occasionnel
Seconde question du jour
Depuis longtemps je recherche comment mettre en forme l'affichage de la fenêtre de "validation des données", à savoir :
1- la taille des polices d'affichages extrêmement petites, quasi illisibles
2- l'ordre de l'affichage qui commence par les dernières lignes alors que j'aimerais qu'il commence par les premières lignes
Merci
Michel
 

michir

XLDnaute Occasionnel
Voilà un extrait de fichier mais dans l'original les polices de la zone de validation sont encore beaucoup plus petites
reste l'ordre d'affichage dans la zone de validation...
Merci
 

Pièces jointes

  • Test pour zone validation.xlsx
    11.2 KB · Affichages: 51

michir

XLDnaute Occasionnel
Merci Chris
Ta contribution est également intéressante
Je suis ignare en VBA
Ton code apparaît simultanément dans les fenêtre General, ListBox1 et Worksheet
Est-ce à dire que je dois le recopier dans chacune des fenêtres ? Dans mon fichier je n'ai que General et Worksheet. Comment faire apparaître ListBox1 ?
Dernière question. Ton affichage me convient mais pour augmenter ou diminuer la taille de la police de la zone de validation existe t il une ligne de code
 

Chris401

XLDnaute Accro
Ton code apparaît simultanément dans les fenêtre General, ListBox1 et WorksheetDernière question.
Je ne comprends pas ce que tu veux dire ; le code est uniquement placé dans feuil1
upload_2016-12-11_12-10-7.png




pour augmenter ou diminuer la taille de la police de la zone de validation existe t il une ligne de code

Tu changes la police dans les propriétés de Listbox1
upload_2016-12-11_12-12-31.png
 

david84

XLDnaute Barbatruc
Bonjour,
pour augmenter ou diminuer la taille de la police de la zone de validation existe t il une ligne de code
une idée à partir du code de JB :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([A2:A16], Target) Is Nothing And Target.Count = 1 Then
    Me.ComboBox1.List = Sheets("bd").Range("Liste").Value
    Me.ComboBox1.ListIndex = -1 'ajouté
    Me.ComboBox1.Height = Target.Height + 3
    Me.ComboBox1.Width = Target.Width
    Me.ComboBox1.Top = Target.Top
    Me.ComboBox1.Left = Target.Left
    Me.ComboBox1 = Target
    Me.ComboBox1.Visible = True
    Me.ComboBox1.ListWidth = 300 'ajouté
    Me.ComboBox1.Activate
    Me.ComboBox1.Font.Size = 14 'ajouté
    'If Val(Application.Version) > 10 Then SendKeys "{esc}"
    'Me.ComboBox1.DropDown
  Else
    Me.ComboBox1.Visible = False
  End If
End Sub
Private Sub ComboBox1_Change()
ActiveCell.Value = Me.ComboBox1
Me.ComboBox1.Font.Size = ActiveCell.Font.Size 'ajouté
End Sub
A+
 

david84

XLDnaute Barbatruc
Un peu plus affiné :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([A2:A16], Target) Is Nothing And Target.Count = 1 Then
      Const Zoom As Single = 2
      colWidth = Target.ColumnWidth
      Columns(Target.Column).AutoFit
      Me.ComboBox1.List = Sheets("bd").Range("Liste").Value
      Me.ComboBox1.ListIndex = -1 'ajouté
      Me.ComboBox1.Height = Target.Height + 3
      Me.ComboBox1.Width = Target.Width
      Me.ComboBox1.Top = Target.Top
      Me.ComboBox1.Left = Target.Left
      Me.ComboBox1 = Target
      Me.ComboBox1.Visible = True
      Me.ComboBox1.ListWidth = Target.ColumnWidth * (5 * Zoom) 'ajouté
      Me.ComboBox1.Activate
      Me.ComboBox1.Font.Size = ActiveCell.Font.Size * Zoom 'ajouté
      Columns(Target.Column).ColumnWidth = colWidth
      'If Val(Application.Version) > 10 Then SendKeys "{esc}"
      'Me.ComboBox1.DropDown
  Else
      Me.ComboBox1.Visible = False
  End If
End Sub
A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 889
Membres
101 831
dernier inscrit
gillec