Comment insérer les données de 2 textbox dans dans deux cellules feuille

Bonsoir je me nomme OUMAR,

Comment pourrait on insérer les données d'une textbox TextBoxInsererMontant de type numérique et une autre textbox TextBoxDATE_Enregistree de type Date chacun dans sa cellule respective ?

Pièce jointe

Private Sub CmdButtonENREGISTRER_Click() ' Enregistrer If Me.TextBoxInsererMontant = "" Then MsgBox "Vous n'avez pas renseigné le montant a Partager", vbInformation, "Saisie manquante" Me.TextBoxInsererMontant.SetFocus Exit Sub End If If Me.TextBoxDATE_Enregistree Like "##/##/####" And IsDate(TextBoxDATE_Enregistree.Value) Then Else MsgBox "Attention, saisissez une date de réception en respectant le format JJ/MM/AAAA.", vbExclamation, "Saisie manquante" TextBoxDATE_Enregistree.SetFocus Exit Sub Worksheets("PARTAGE GLOBAL").Range("G5").Value = TextBoxInsererMontant.Value Worksheets("PARTAGE GLOBAL").Range("G4").Value = TextBoxDATE_Enregistree.Value '__________________________________________________________________________ With ThisWorkbook.Worksheets("PARTAGE GLOBAL").Range("G5") .Value = TextBoxInsererMontant.Value .NumberFormat = "#,##0" End With End If '__________________________________________________________________________ CmdButtonFERMER_Click End Sub Private Sub CmdButtonFERMER_Click() Unload Me End Sub Private Sub TextBoxDATE_Enregistree_Change() Worksheets("PARTAGE GLOBAL").Range("G4").Value = TextBoxDATE_Enregistree.Value 'Range("G4").Value = Val(TextBoxDATE_Enregistree) 'Range("G4").Value = CDate(TextBoxDATE_Enregistree) End Sub 'avec la virgule valide(décimale) Private Sub TextBoxInsererMontant_Change() On Error Resume Next If Not IsNumeric(Right(TextBoxInsererMontant, 1)) And Right(TextBoxInsererMontant, 1) <> "," Then MsgBox "Le caractere saisi n'est pas valide" TextBoxInsererMontant = Left(TextBoxInsererMontant, Len(TextBoxInsererMontant) - 1) End If End Sub

Bonjour,

Un textbox ne contient que du texte.

Pour copier l'info dans une cellule et que ce texte soit converti en date, il faut utiliser "CDate".

    Worksheets("PARTAGE GLOBAL").Range("G5").Value = CDate(TextBoxInsererMontant.Value)
    Worksheets("PARTAGE GLOBAL").Range("G4").Value = CDate(TextBoxDATE_Enregistree.Value)

Note : s.t.p., pour mettre du code sur le forum, utilise plutôt le bouton </>

ric

Salut,

Merci pour la réponse:

La TextBoxInsererMontant est numérique mais la cellule correspondante ne reçoit pas de donnée.

Normalement l'objet CDate a t il son rôle ici TextBoxInsererMontant ?

Pourriez vous m'indiquer la cause ?

Vérifier la pièce jointe au premier poste.

Cordialement.

 Worksheets("PARTAGE GLOBAL").Range("G5").Value = CDate(TextBoxInsererMontant.Value)

    Worksheets("PARTAGE GLOBAL").Range("G4").Value = CDate(TextBoxDATE_Enregistree.Value)

Bonjour,

Désolé de mon étourderie ... effectivement TextBoxInsererMontant ne nécessite pas CDate ...

Je suis mon avatar ...

Je ne peux pas tester ton fichier, il ne fonctionne pas sur ma version 64 bits de Excel ( bug dans le formulaire ), je vais voir si je peux modifier ..

ric

Merci.

Concernant cette ligne de code, il n'insere pas les données dans sa cellule correspondante.

 Worksheets("PARTAGE GLOBAL").Range("G5").Value = (TextBoxInsererMontant.Value)

Quelle serait la solution ?

Bonjour le fil, bonjour le forum,

Je voulais essayer de t'apporter une solution mais ton fichier est verrouillé avec un mot de passe. Je trouve ça couillon quand on a besoin d'aide...

le mot de passe est: oumar

Bonjour à tous,

En attendant les bons commentaires de ThauThème, que je salue ...

Pour tes 2 lignes, elles ne sont pas au bon endroit, elles devraient être avant "Else"

Car en bas de "Exit Sub" > la macro est déjà fermée ...

Private Sub CmdButtonENREGISTRER_Click() ' Enregistrer

    If Me.TextBoxInsererMontant = "" Then
        MsgBox "Vous n'avez pas renseigné le montant a Partager", vbInformation, "Saisie manquante"
        Me.TextBoxInsererMontant.SetFocus
        Exit Sub
    End If
    If Me.TextBoxDATE_Enregistree Like "##/##/####" And IsDate(TextBoxDATE_Enregistree.Value) Then
        Worksheets("PARTAGE GLOBAL").Range("G5").Value = CDbl(TextBoxInsererMontant.Value)        ''  << ici
        Worksheets("PARTAGE GLOBAL").Range("G4").Value = CDate(TextBoxDATE_Enregistree.Value)     ''  << ici   
    Else

        MsgBox "Attention, saisissez une date de réception en respectant le format JJ/MM/AAAA.", vbExclamation, "Saisie manquante"
        TextBoxDATE_Enregistree.SetFocus
        Exit Sub

        '__________________________________________________________________________
        With ThisWorkbook.Worksheets("PARTAGE GLOBAL").Range("G5")
            .Value = TextBoxInsererMontant.Value
            .NumberFormat = "#,##0"
        End With
    End If
    '__________________________________________________________________________

    CmdButtonFERMER_Click
End Sub

ric

Bonjour à tous,

Il y a aussi Private Sub TextBoxDATE_Enregistree_Change() qui pose problème, car à chaque caractère tapé dans le TextBoxDATE, ce code se réexécute ...

ric

Bonsoir ric,

bonsoir ThauThème,

bonsoir membres du forum,

Cette discussion est résolue.

Merci à tous

A bientôt pour une nouvelle discussion.

Cordialement.

Bonsoir le fil, bonsoir le forum,

J'aurais coder comme ça :

Option Explicit
Private OP As Worksheet

Private Sub UserForm_Initialize()
Set OP = Worksheets("PARTAGE GLOBAL")
End Sub

Private Sub TextBoxInsererMontant_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 46 Then KeyAscii = 44: Exit Sub
If KeyAscii = 44 Then Exit Sub
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 8
End Sub

Private Sub CmdButtonENREGISTRER_Click() ' Enregistrer
If Me.TextBoxInsererMontant = "" Then
    MsgBox "Vous n'avez pas renseigné le montant a Partager", vbInformation, "Saisie manquante"
    Me.TextBoxInsererMontant.SetFocus
    Exit Sub
End If
If Me.TextBoxDATE_Enregistree Like "##/##/####" And IsDate(TextBoxDATE_Enregistree.Value) Then
Else
    MsgBox "Attention, saisissez une date de réception en respectant le format JJ/MM/AAAA.", vbExclamation, "Saisie manquante"
    TextBoxDATE_Enregistree.SetFocus
    Exit Sub
End If
OP.Range("G4").Value = CDate(TextBoxDATE_Enregistree.Value)
With OP.Range("G5")
    .Value = CDbl(TextBoxInsererMontant.Value)
    .NumberFormat = "#,##0"
End With
Unload Me
End Sub

Private Sub CmdButtonFERMER_Click()
Unload Me
End Sub

Private Sub CmdButtonOpenUF_Click()
'lancementUSF
LancerUserFormMobile
End Sub

Sub lancementUSF()
Dim sVariable As String

sVariable = "UserFormMobile"
VBA.UserForms.Add(sVariable).Show
End Sub

Bonsoir ric,

bonsoir ThauThème,

bonsoir membres du forum,

Cette discussion est résolue.

Merci à tous

A bientôt pour une nouvelle discussion.

Cordialement.

Rechercher des sujets similaires à "comment inserer donnees textbox deux feuille"