Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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,


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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…