TextBox VBA

Résolu
Wati by night -  
Polux31 Messages postés 7219 Statut Membre -
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

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
    1. Wati by night
       
      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
    2. Polux31 Messages postés 7219 Statut Membre 1 204
       
      De rien,

      Content pour toi.

      Bonne continuation

      ;o)
      0