• Initiateur de la discussion Initiateur de la discussion AreYouBush
  • 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 !

A

AreYouBush

Guest
Bonjour le forum,

J'ai téléchargé sur ce forum un fichier contenant un userform qui correspond à mes attentes et j'ai a peu prêt compris comment le modifier à ma sauce.

Par-contre lorsque je commence a taper un nouvelle entré (commençant par M par exemple) dans le combobox il m'affiche un des noms déjà entré (jusqu'ici ça me plait) mais le HIC c'est que ça me rempli les textbox avec les infos du premier personnel commençant par M dans ma table. J'aimerai si possible faire apparaître les infos dans les textbox que si j’appuie sur Entrer par exemple.

De plus, j'ai un textbox qui se réfère à la fonction de mes personnels et j'aimerai bloquer la validation tant que ce textbox n'est pas renseigné.

Merci de vous penchez sur mon problème.

Bisoussssss
 

Pièces jointes

Re : Combobox et textbox

Salut AYB

Pour on premier soucis, il faut virer le code de "Private Sub ComboBox1_Change()"
et le mettre
Code:
Private Sub ComboBox1_AfterUpdate()
    Dim i&
    If ComboBox1.ListIndex = -1 Then Exit Sub
    For i = 1 To 12
        Controls("T" & i) = ComboBox1.List(ComboBox1.ListIndex, i)
    Next i
End Sub

Pou on 2ème problème, le test existe, il suffit de mettre le "Unload Me" au bon endroit
Code:
Private Sub btncreer_Click()
    Dim i&
    If T2 <> "" Then
        With Feuil2
            fin = .Range("A" & Rows.Count).End(xlUp).Row
            Feuil2.Cells(fin + 1, 1) = ComboBox1: ComboBox1 = ""
            For i = 1 To 12
                Feuil2.Cells(fin + 1, i + 1) = Controls("T" & i): Controls("T" & i) = ""
            Next i
        End With
    Unload Me
    employes.Show
    End If
End Sub

Juste un petit détail, décharger un USF et l'afficher de nouveau alors que le code exécuté est dans ce USF
je ne suis pas certain que tu n'es pas un soucis au bout d'un moment !?

A+
 
Dernière modification par un modérateur:
Re : Combobox et textbox

Bonjour AreYouBush 🙂,
Il te suffit de couper le code dans
Code:
Private Sub ComboBox1_Change()
et de le coller dans
Code:
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
, le remplissage ne se fera qu'après sortie du Combo (avec la tab par exemple).
Dans
Code:
Private Sub btncreer_Click()
tu as bien un test sur T2 non vide
Code:
    If T2 <> "" Then
donc tu ne devrais pas pouvoir enregistrer sans Fonction 😕...
Par contre, tu peux ne pas vider l'USF dans ces cas là en déchargeant dans le test
Code:
Private Sub btncreer_Click()
    Dim i&
    If T2 <> "" Then
        With Feuil2
            fin = .Range("A" & Rows.Count).End(xlUp).Row
            Feuil2.Cells(fin + 1, 1) = ComboBox1: ComboBox1 = ""
            For i = 1 To 12
                Feuil2.Cells(fin + 1, i + 1) = Controls("T" & i): Controls("T" & i) = ""
            Next i
        End With
    Unload Me
    employes.Show
    End If
End Sub
Bon courage 😎
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
  • Résolu(e)
Réponses
4
Affichages
828
T
Réponses
8
Affichages
1 K
tikazor
T
I
Réponses
5
Affichages
1 K
L
Réponses
40
Affichages
5 K
lalimace
L
Retour