Récuperer valeur TextBox

tyruso

XLDnaute Junior
Bonjour à tous,

J'ai créer un userform avec une combobox et des textbox.
La combobox est le nom de la colonne de mon onglet TRI.
Les textbox sont les lignes de l'onglet TRI.
Les spinbutton me permet d'incrementer mes textbox.

J'aimerais que lors de la validation, les valeurs dans les textox viennent s'inscrire dans la bonne cellule de l'onglet TRI. (Par rapport à la combobox qui est la colonne voulue et la Textbox qui est la ligne )

Egalement lorsque je choisie une colonne grace à la combobox, les valeurs de l'onglet TRI viennent s'inscrire dans la textbox correspondante.

Merci d'avance en esperant avoir été assez clair.
 

Pièces jointes

  • QUIK 052013.xlsm
    41.3 KB · Affichages: 63

tyruso

XLDnaute Junior
Re : Récuperer valeur TextBox

Encore un ptit détail, comment faire pour que la valeur qui s'affiche dans l'onglet TRI soit un nombre pour pouvoir faire des calculs dessus ? Actuellement c'est un nombre stocké sous forme de texte...

Merci
 

Papou-net

XLDnaute Barbatruc
Re : Récuperer valeur TextBox

RE :

Il faut modifier l'indice maxi dans les boucles suivantes :

Code:
Sub MaJForm()
With UserForm1
  Col = .ComboBox1.ListIndex + 2
  If Col = 1 Then Col = 2
  For i = 1 To 20
    .Controls("REF" & i) = Feuil2.Range("A" & i + 1)
    .Controls("NBR" & i) = Feuil2.Cells(i + 1, Col)
  Next
End With
End Sub

Sub MajTabl()
With UserForm1
    For i = 1 To 20
      Feuil2.Cells(i + 1, Col) = .Controls("NBR" & i)
    Next
End With
End Sub
Tu remplaces 20 par le nombre de tes contrôles REF et NBR.

Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : Récuperer valeur TextBox

Encore un ptit détail, comment faire pour que la valeur qui s'affiche dans l'onglet TRI soit un nombre pour pouvoir faire des calculs dessus ? Actuellement c'est un nombre stocké sous forme de texte...

Merci

RE :

Le contenu des TextBox est toujours renvoyé sous la forme d'une chaîne (String), on ne peut le changer.

C'est à la récupération que tu dois les convertir.

Exemple, si les données doivent être du type entier :

Code:
Sub MajTabl()
With UserForm1
    For i = 1 To 20
      Feuil2.Cells(i + 1, Col) = CInt(.Controls("NBR" & i))
    Next
End With
End Sub
Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : Récuperer valeur TextBox

RE

Exact, si le TextBox est vide ça provoque une erreur.

Voici donc comment procéder :

Code:
Sub MajTabl()
With UserForm1
    For i = 1 To 20
      If Not .Controls("NBR" & i) = "" Then Feuil2.Cells(i + 1, Col) = CInt(.Controls("NBR" & i))
    Next
End With
End Sub
Cordialement.
 

tyruso

XLDnaute Junior
Re : Récuperer valeur TextBox

Bonjour,

J'ai un soucis avec mon tableau. Cela fonctionné hier et ce matin impossible d'inscrire des valeurs dans les lignes 3 à 60.

Pourriez vous m'aider.

Merci
 

Pièces jointes

  • EXCEL QUIK.xlsm
    112.8 KB · Affichages: 65

Papou-net

XLDnaute Barbatruc
Re : Récuperer valeur TextBox

Bonjour tyruso,

N'aurais-tu pas modifié ton code entre-temps ?

Le problème vient de la ligne que j'ai mise en commentaire.En effet, dès le premier passage de la boucle tu affectes à i la valeur 61 d'où la sortie prématurée :

Code:
Sub MajTabl()
With UserForm1
    For i = 1 To 60
      If Not .Controls("NBR" & i) = "" Then Feuil2.Cells(i + 1, Col) = CInt(.Controls("NBR" & i))
'     i = 61
       Feuil2.Cells(i + 1, Col) = .Controls("NBR" & i)
          Next
End With
End Sub
Cordialement.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz