Je pense que mon thread a sa place ici, mais si un modo pense le contraire, pas de soucis.
Un collègue vient de me refiler sa petite création qui consiste à afficher un annuaire téléphonique rempli sur des feuillets excel via une série de fenêtre en VB.
Le problème est que ces fenêtres sont trop petites pour afficher toute une liste (ou disons que la taille de l’écran ne suffit pas). Du coup, on se retrouve avec un ascenseur vertical. Le problème est que la molette de la souris n’est pas gérée dans cette fenêtre, et çà agace.
J’ai cherché sur Google, mais çà n’a rien donné.
Donc si quelqu’un connait la manip pour corriger ce défaut, ce serait cool.
Je précise que la programmation, c’est pas mon truc et j’y pige que dalle, donc faut pas me noyer dans des explications trop complexes.
Merci d’avance
Voici le code:
[code]Private Sub UserForm_Initialize()
Dim MyArray() As String
ReDim MyArray(NbLigne, 5) As String
Dim colonneFeuille, colonneTab, i, ligneFeuille, ligneTab As Integer
i = 1
ligneFeuille = 3
ligneTab = 0
TestVide = 0
ListBox1.ColumnCount = 5
LblNomUnitÈ.Caption = Intitule
For i = 0 To NbLigne - 1
If Worksheets(unite).Cells(ligneFeuille, 2).Value <> “” Then
If TestVide = 1 Then
MyArray(ligneTab, 0) = “”
ligneTab = ligneTab + 1
TestVide = 0
End If
If Worksheets(unite).Cells(ligneFeuille + 1, 3).Value = “” And Worksheets(unite).Cells(ligneFeuille + 1, 4).Value = “” Then
TestVide = 1
End If
MyArray(ligneTab, 0) = Worksheets(unite).Cells(ligneFeuille, 2).Value
If Worksheets(unite).Cells(ligneFeuille, 3).Value <> “” Or Worksheets(unite).Cells(ligneFeuille + 1, 4).Value <> “” Then
For colonneTab = 1 To 4
MyArray(ligneTab, colonneTab) = Worksheets(unite).Cells(ligneFeuille, colonneTab + 2).Value
Next colonneTab
End If
ligneTab = ligneTab + 1
ligneFeuille = ligneFeuille + 1
End If
Next i
ListBox1.List() = MyArray
End Sub[/code]