Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
    '-----------
    '-----------'
 
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:
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)=....
 
Bonsoir
variable mal déclarée
peut être déclarée en byte ou alors la valeur d'une des textbox comporte une virgule.
Ce qui n'est plus un entier long
essaye cdbl

mais sans fichier .....
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
542
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…