XL 2019 Textbox, comment en récupérer sa valeur numérique

thespeedy20

XLDnaute Occasionnel
Bonjour le Forum,

Via un formulaire, j''encode des données... quand je transfère les données vers les cellules tout ce qui numérique (texteBox3 et 4), se retrouve en chaine de caractère...
Pouvez-vous m'aider ?

Oli
 

Pièces jointes

  • Numeric.xlsm
    51.4 KB · Affichages: 16

Jacky67

XLDnaute Barbatruc
Bonjour le Forum,

Via un formulaire, j''encode des données... quand je transfère les données vers les cellules tout ce qui numérique (texteBox3 et 4), se retrouve en chaine de caractère...
Pouvez-vous m'aider ?

Oli
Bonjour,
Ce qui est décrit est un comportement normal, un textbox retourne du text
Il faudra le transformer en numérique ou date (par exemple) selon les besoins
Essaye en modifiant les transferts vers la feuille avec un code de ce type
VB:
'-----------
'-----------
    For j = 1 To 7
        If IsNumeric(Controls("textBox" & j)) Then
            Cells(cell.Row, j) = CLng(Controls("textBox" & j))
        Else
            Cells(cell.Row, j) = Controls("textBox" & j)
        End If
    Next j
    '-----------
    '-----------'
 

JM27

XLDnaute Barbatruc
bonjour


pour la modification

VB:
Private Sub CmdAjout_Click()
    Set cell = Range("A3:A" & Application.Max(3, Range("A" & Rows.Count).End(xlUp).Row)) _
        .Find(CmbNom, lookat:=xlWhole)
    If Not cell Is Nothing Then
        rep = MsgBox("Etes-vous  sûr de vouloir modifier les données de  " & CmbNom & " ?", 20)
        If rep = 7 Then Exit Sub
    End If
    For j = 1 To 7
      
        If IsNumeric(Controls("textBox" & j)) = True Then
            Cells(cell.Row, j) = CLng(Controls("textBox" & j))
         Else
            Cells(cell.Row, j) = Controls("textBox" & j)
        End If
    Next j
  
    MsgBox "Les données de " & CmbNom & " ont été modifiées.", 64
    Unload Me
End Sub

pour la création tu fais de même

Si tu dois transférer une date

Code:
If IsDate(Controls("textBox" & j)) = True Then
 
Dernière édition:

thespeedy20

XLDnaute Occasionnel
Bonjour JM27,

VB:
Private Sub CmdNouv_Click()
    Dim j As Integer
    
    Set cell = Range("A3:A" & Application.Max(3, Range("A" & Rows.Count).End(xlUp).Row)) _
        .Find(CmbNom, lookat:=xlWhole)
    If Not cell Is Nothing Then
        MsgBox CmbNom & " Existe déjà." & Chr(13) & "Vous ne pouvez que le modifier ou le supprimer", 16
        Exit Sub
    End If
    lgn = Application.Max(3, Range("A" & Rows.Count).End(xlUp)(2).Row)
    
    
    For j = 1 To 7
        If IsNumeric(Controls("textBox" & j)) Then
            Cells(cell.Row, j) = CLng(Controls("textBox" & j))
        Else
            
            Cells(cell.Row, j) = Controls("textBox" & j)
        
        End If
    Next j
    
    Range("A3:G" & lgn).Sort key1:=Range("A3"), order1:=xlAscending, Header:=xlNo

si cell est défini...

Oli
 

Jacky67

XLDnaute Barbatruc
Bonjour JM27,

VB:
Private Sub CmdNouv_Click()
    Dim j As Integer
  
    Set cell = Range("A3:A" & Application.Max(3, Range("A" & Rows.Count).End(xlUp).Row)) _
        .Find(CmbNom, lookat:=xlWhole)
    If Not cell Is Nothing Then
        MsgBox CmbNom & " Existe déjà." & Chr(13) & "Vous ne pouvez que le modifier ou le supprimer", 16
        Exit Sub
    End If
    lgn = Application.Max(3, Range("A" & Rows.Count).End(xlUp)(2).Row)
  
  
    For j = 1 To 7
        If IsNumeric(Controls("textBox" & j)) Then
            Cells(cell.Row, j) = CLng(Controls("textBox" & j))
        Else
          
            Cells(cell.Row, j) = Controls("textBox" & j)
      
        End If
    Next j
  
    Range("A3:G" & lgn).Sort key1:=Range("A3"), order1:=xlAscending, Header:=xlNo

si cell est défini...

Oli
Re..
Dans cette partie de code ce n'est pas
Cells(cell.Row, j) =....
Mais
Cells(lgn, j)=....
 

thespeedy20

XLDnaute Occasionnel
Bonsoir Jacky67, JM27,

Dans les deux cas, quand il transfère dans la cellule, c'est toujours sous forme de texte et non un nombre....:(

num.JPG


OLi
 

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 062
Membres
103 449
dernier inscrit
pulco41