SOS USERFORM

SOS USERFORM - VB/VBA/VBS - Programmation

Marsh Posté le 16-01-2019 à 05:44:13    

Bonsoir ou Bonjour car il est 05:30 et depuis je galère sur un userform et plus précisément sur le contrôle listbox.
 
voici ma macro  
 
Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
     
    If ThisWorkbook.Sheets("DR HASSINE" ).Select Then
    UserForm8.ListBox1.RowSource = Range("liste_nom" ).Address
    End If
        Exit Sub
     
    If ThisWorkbook.Sheets("DR MENIAI" ).Select Then
    UserForm8.ListBox1.RowSource = Range("liste_nom_2" ).Address
    End If
        Exit Sub
         
    If ThisWorkbook.Sheets("DR SELMAN" ).Select Then
    UserForm8.ListBox1.RowSource = Range("liste_nom_3" ).Address
    End If
        Exit Sub
 
End Sub
 
le problème est le suivant : Lorsque je suis par exemple sur la feuille "DR MENIAI" et que j'active la macro, la liste dans ma listebox1 à pour source
(liste_nom ) qui correspond à la feuille "DR HASSINE" et non (liste_nom_2) qui se trouve dans la feuille souhaitée par exemple. En effet qu'elle que soit le feuille où je me mets, la source est toujours (liste_nom) de la feuille "DR HASSINE"
comme si ma macro n'arrivait pas à distinguer qu'elle est la véritable feuille active et agir en fonction, comme demandé
 
Merci de m'aider à trouver une solution qui me permettra d'activer la bonne source pour ma listbox en fonction de la feuille dans laquelle je suis effectivement  
 
 
Merci d'avance  
 
 
 

Reply

Marsh Posté le 16-01-2019 à 05:44:13   

Reply

Marsh Posté le 16-01-2019 à 09:11:38    

Bonjour,
 
Pourquoi ne pas préciser la feuille à utiliser dans le Range ? Sinon il y a surement moyen de simplifier la macro avec un "with activesheet".


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 16-01-2019 à 12:31:59    

Merci avec beaucoup d'acharnement j'ai finalement réussi...  
 
Private Sub Worksheet_Activate()
 
     
 UserForm8.ListBox1.RowSource = Sheets("DRHASSINE" ).Range("liste_nom" ).Address
 
End Sub
 
En suivant les conseils de MaybeEijOrNot qui m'a mis sur la piste  
 
 
MERCI INFINIMENT LES AMIS

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed