XL 2019 Afficher le contenu des TexBox dans un User pour pouvoir les modifiers

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

Yann71

XLDnaute Occasionnel
Bonjour la com.
J'ai un User qui me permet de modifier les prénoms du personnel, mais lorsque j'ouvre cette User le champs des TxtBox sont vide, et si je souhaite modifier un ou plusieurs prénoms je suis obligé de remplir toutes mes textBox pour effectuer le changement.
 

Pièces jointes

Bonjour Yann71,
si je souhaite modifier un ou plusieurs prénoms je suis obligé de remplir toutes mes textBox pour effectuer le changement.
Pas avec ceci :
VB:
Private Sub f_b_ok_Click()
    If txt1 <> "" Then Range("E63") = txt1
    If txt2 <> "" Then Range("N63") = txt2
    If txt3 <> "" Then Range("W63") = txt3
    If txt4 <> "" Then Range("AF63") = txt4
    If txt5 <> "" Then Range("AO63") = txt5
    If txt6 <> "" Then Range("AX63") = txt6
    If txt7 <> "" Then Range("BG63") = txt7
    If txt8 <> "" Then Range("BP63") = txt8
'---
A+
 
Il est plus simple d'utiliser :
VB:
Private Sub f_b_ok_Click()
Dim i
    For i = 1 To 8
        If Me("txt" & i) <> "" Then Cells(63, 9 * i - 4) = Me("txt" & i)
        Me("txt" & i) = ""
    Next
    choix_OK = True
    Me.Hide
End Sub
Pourquoi Me.Hide plutôt que Unload Me ?

A+
 
Autre solution :
VB:
Private Sub f_b_ok_Click()
Dim i
    For i = 1 To 8
        Cells(63, 9 * i - 4) = Me("txt" & i)
    Next
    Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim i
    For i = 1 To 8
        Me("txt" & i) = Cells(63, 9 * i - 4)
    Next
End Sub
 
Autre solution :
VB:
Private Sub f_b_ok_Click()
Dim i
    For i = 1 To 8
        Cells(63, 9 * i - 4) = Me("txt" & i)
    Next
    Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim i
    For i = 1 To 8
        Me("txt" & i) = Cells(63, 9 * i - 4)
    Next
End Sub
Je te remercie c'est ce que je souhaitais. Je m'aperçois que des code vba peuvent être simplifiée tel que la tienne vis-à-vis de la mienne. Merci encore et bonne fin de journée.
 
- 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
12
Affichages
1 K
Retour