Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1146 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  SOS USERFORM

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SOS USERFORM

n°2327716
gaultier78​330
Posté le 16-01-2019 à 05:44:13  profilanswer
 

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  
 
 
 

mood
Publicité
Posté le 16-01-2019 à 05:44:13  profilanswer
 

n°2327718
MaybeEijOr​Not
but someone at least
Posté le 16-01-2019 à 09:11:38  profilanswer
 

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.
n°2327729
gaultier78​330
Posté le 16-01-2019 à 12:31:59  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  SOS USERFORM

 

Sujets relatifs
SOS VBAcreer un userform uniquement par code vb dans outlook
VBA : adapter un userform à plusieurs feuillesFermer workbook ouvert depuis une macro dans userform
SOS ASPIRATEUR SITE WEBInsertion image userform
transferer mon userform sur la feuille activeaide pour imprimer les onglet copier avec userform
Séléction et transfert de données d'un UserForm à un autrecomment modifier via un userform ? je suis un debutant svp!
Plus de sujets relatifs à : SOS USERFORM


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR