Userform récalcitrant

  • Initiateur de la discussion Initiateur de la discussion isa44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

isa44

XLDnaute Occasionnel
Bonjour à tous,

j'ai un souci avec un userform :
Je suis obligée de fermer puis de r'ouvrir l'userform pour avoir la valeur de la cellule active de la feuille "Signalements" dans le Textbox , si je ne fais pas cette manip le Textbox reste vide.
Si une autre feuille que celle de "Signalements" est active ne pas remplir le Textbox.

Code:
Private Sub UserForm_Initialize()

For Each cel In Sheets("Signalements").Range("T45:T56")
ListBox1.AddItem cel.Text
Next
For Each cel In Sheets("Signalements").Range("V45:V56")
ListBox2.AddItem cel.Text
Next
For Each cel In Sheets("Signalements").Range("X45:X56")
ListBox3.AddItem cel.Text
Next

' à partir d'ici je suis obligée de quitter l'userform et de le rouvrir pour avoir la valeur
'de la cellule active dans le Textbox1

If Sheets("Signalements").Activate Then ' si ce n'est pas la feuille "Signalements" ne pas remplir le Textbox1
TextBox1 = ActiveCell.Value
End If

End Sub

Merci pour votre aide
 
Re : Userform récalcitrant

Bonjour,

A tout hasard, peut être:

Cette ligne au début et pas à la fin du code ?
If Sheets("Signalements").Activate Then
.../
.../
end if

ou bien
With Sheets("Signalements")
.../
..../
End With
@+
 
Re : Userform récalcitrant

bonjour Isa, Papapaul
comme suit

Private Sub UserForm_Initialize()
Dim Cel As Range

Sheets("Signalements").Activate
For Each Cel In Range("T45:T56")
ListBox1.AddItem Cel.Text
Next
For Each Cel In Range("V45:V56")
ListBox2.AddItem Cel.Text
Next
For Each Cel In Range("X45:X56")
ListBox3.AddItem Cel.Text
Next

' à partir d'ici je suis obligée de quitter l'userform et de le rouvrir pour avoir la valeur
'de la cellule active dans le Textbox1

TextBox1 = ActiveCell.Value


End Sub

à bientôt
 
Re : Userform récalcitrant

Bonjour le fil, bonjour le forum,

Peut-être comme ça :
Code:
Private Sub UserForm_Initialize()
With Sheets("Signalements")
    ListBox1.List = .Range("T45:T56").Value
    ListBox2.List = .Range("V45:V56").Value
    ListBox3.List = .Range("X45:X56").Value
End With
If ActiveSheet.Name = "Signalements" Then TextBox1.Value = ActiveCell.Value
End Sub
 
Re : Userform récalcitrant

J'ai testée vos différentes solutions , cela ne change rien mais par contre je vient de constater que lorsque je fait une saisie,mon problème apparait :

Code:
Private Sub CommandButton1_Click()
ActiveCell.Value = Left(TextBox1.Text, Len(TextBox1.Text))
Prélèvements.Opérateur = TextBox1


TextBox1.Value = ""
ListBox1.Value = ""
ListBox2.Value = ""
ListBox3.Value = ""

Userform1.Hide

End Sub
 
Re : Userform récalcitrant

Bonjour le fil, bonjour le forum,

Bonjour à tous,

j'ai un souci avec un userform :
Je suis obligée de fermer puis de r'ouvrir l'userform pour avoir la valeur de la cellule active de la feuille "Signalements" dans le Textbox , si je ne fais pas cette manip le Textbox reste vide.
Si une autre feuille que celle de "Signalements" est active ne pas remplir le Textbox.

Isa, le code que je t'ai donné fonctionne car je l'ai testé...

Pour ton nouveau problème, pourrrais-tu préciser de quel type de problème il sagit ? Je pense que c'est le Activecell. Si j'ai bien compris essaie comme ça :
Code:
Sheets("Signalements").Activate
ActiveCell.Value = Left(TextBox1.Text, Len(TextBox1.Text))
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
922
Retour