TextBox VBA

Résolu/Fermé
Wati by night - 12 avril 2010 à 11:48
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 12 avril 2010 à 15:24
Bonjour,
tout d'abord, très bonne journée a tous, en ce lundi ensoleillé ^^..

alrs mon pb : j'ai un userform contenant plusieurs textbox..
je souhaiterai que ces textbox se remplissent selon les données d'un tableau excell..(j'ai un bouton bascule (spin bouton) qui doit me permettre de passer d'une ligne à une autre du tableau et changer les données affichées dans les textbox.

J'ai fait quelque chose de semblable en VB sur visual studiO dernièrement, mais la je sèche.

Pourriez-vous m'aider s'il vous plait ?
Merci d'avance

1 réponse

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
12 avril 2010 à 12:32
Bonjour,

Voilà un exemple.

J'ai placé sur un UF, un bouton "cmdPrecedent", un bouton "cmdSuivant", 4 textboxes et un bouton "Quitter".

Mon tableau commence sur la feuille 1 cellule A2

Voilà le code :

Option Explicit

Private numLigCourante As Long     'Contient la ligne courante affichée

'Evènement sur le click du bouton "<"
Private Sub cmdPrecedent_Click()
    'On teste le numéro de la ligne
    If numLigCourante = 2 Then    'Si l'on est sur la 1ère ligne du tableau
        'On affiche un message
        MsgBox "Vous êtes sur la première ligne", vbExclamation, "Message système"
        'Et on sort de la procédure
        Exit Sub
    Else
        'Sinon, on décrémente pour remonter d'une ligne
        numLigCourante = numLigCourante - 1
        'On affiche les données
        AfficheDonnees
    End If
End Sub

'Evènement sur le click du bouton ">"
Private Sub cmdSuivant_Click()
    'On vérifie si la ligne suivante contient des valeurs
    If Worksheets(1).Range("A" & numLigCourante + 1).Value = "" Then
        'Si l'on n'a pas de valeur on est à la fin du tableau
        'On affiche un message
        MsgBox "Vous êtes sur la dernière ligne", vbExclamation, "Message système"
        'Et on sort de la procédure
        Exit Sub
    Else
        'Sinon, on incrémente pour descendre d'une ligne
        numLigCourante = numLigCourante + 1
        'On affiche les données
        AfficheDonnees
    End If
End Sub

'Fermeture du formulaire
Private Sub CommandButton3_Click()
    Unload Me
    End
End Sub

'Initialisation de l'UF à l'ouverture
Private Sub UserForm_Initialize()

    TextBox1.Text = ""
    TextBox2.Text = ""
    TextBox3.Text = ""
    TextBox4.Text = ""
    
    numLigCourante = 2
    
    AfficheDonnees
    
End Sub

'Procédure d'affichage des données
Sub AfficheDonnees()

    TextBox1.Text = Worksheets(1).Range("A" & numLigCourante).Value
    TextBox2.Text = Worksheets(1).Range("B" & numLigCourante).Value
    TextBox3.Text = Worksheets(1).Range("C" & numLigCourante).Value
    TextBox4.Text = Worksheets(1).Range("D" & numLigCourante).Value
    Label1.Caption = "Ligne " & numLigCourante

End Sub


J'espère que ça pourra t'aider.

Bon courage

;o)
1
Wati by night
12 avril 2010 à 15:08
Ahhhhhhhhhhhhhhhhhhhhhhh !! je te remercie infiniment, c'est exactement ce dont j'avais besoin, c'est PARFAIT ^^

j'ai adapté à mon userform et c'est bon..
MERCI =D
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
12 avril 2010 à 15:24
De rien,

Content pour toi.

Bonne continuation

;o)
0