Transfert de données à partir d'un formulaire

PdePouldon

XLDnaute Nouveau
Bonjour,

Pour transférer des données dans une feuille après les avoir saisies dans un formulaire, j'utilise la procédure suivante :

Private Sub CommandButton1_Click()
derlig = [A65000].End(xlUp).Row + 1
For i = 1 To 32
Cells(derlig, i) = Me.Controls("TextBox" & i)
Next i
End Sub

Le pb est que "TextBox"&i (zone de texte indexée) transfert du texte, y compris pour les nombres. Certes dans la feuille, je peux les convertir, mais n'y a-t-il pas un moyen de conserver le format nombre lors du transfert ?
Merci aux experts qui nous font profiter de leur savoir.
Pierre
 

CBernardT

XLDnaute Barbatruc
Re : Transfert de données à partir d'un formulaire

Bonjour PdePouldon et le forum,

Tu peux utiliser les fonctions de conversion de types de données :

CDbl(Expression) ' Convertit le résultat en valeur de type Double.

Dans ton cas :
Private Sub CommandButton1_Click()
derlig = [A65000].End(xlUp).Row + 1
For i = 1 To 32
Cells(derlig, i) = CDbl(Me.Controls("TextBox" & i))
Next i
End Sub

Cordialement

Bernard
 

Cousinhub

XLDnaute Barbatruc
Re : Transfert de données à partir d'un formulaire

Bonsoir,

Bonsoir, CBernardT


si tes textbox comportent des nombres et du texte, tu peux essayer ainsi :

Code:
For i = 1 To 32
    If IsNumeric(Me.Controls("TextBox" & i)) Then
        Cells(i, 1) = Me.Controls("TextBox" & i) * 1
    Else
        Cells(i, 1) = Me.Controls("TextBox" & i)
    End If
Next
 

Discussions similaires

Statistiques des forums

Discussions
312 388
Messages
2 087 871
Membres
103 672
dernier inscrit
ammarhouichi