VBA formulaire exportation en texte au lieu de numérique

Bonjour à tous

J’ai un problème dans deux formulaires de saisie, lors de mon exportation les champs qui comportent : les Heures - Nb palette (dans le formulaire Navette intersites) et Heure - Nb palette – Nbpersonne – Temps (dans le formulaire Taches occasionnelles) sont en format texte et lors de mon enregistrement vers la base de données ils restent sur ce même format ce qui ne permet pas de faire des calculs.

Il faudrait qu’ils changent de format en numérique mais je ne maîtrise pas assez VBA pour le faire.

Apres mes recherches sur le net il faudrait mettre une variable lors de l'enregistrement dans chaque colonne mais la !!!

Il y a un test dans un tableau croisé dynamique sur la feuille base de données et cela mer…:? pour les valeurs et le temps qui m’affiche 00 :00

Avez-vous une solution.

Merci à tous

13zrea-navette.xlsm (52.50 Ko)

Bonsoir,

pour les numériques essayez ceci : CDbl(txtNbpalette1)

pour les dates : CDate(txtNbpalette1)

Sous VBA, sélectionnez le texte CDate puis faites [F1] pour afficher l'aide correspondant aux fonction de détermination de type de données.

@ bientôt

LouReeD

bonsoir,

edit : rebonsoir LouReed, décidément on se téléscope ce soir !

je te propose les modifications suivantes dans ce code

'*******************************************************
'Procedure permetant d'ajouter des enregistrements  dans la base
'la base de données
'*******************************************************
Private Sub btnAjout_Click()

        Sheets("Base de données").Activate
        Range("A1").Select
        Selection.End(xlDown).Select 'On se positionne sur la ligne non vide
        Selection.Offset(1, 0).Select 'On se décale d'une ligne vers le bas
        If MsgBox("Voulez vous faire l'enregistrement dans la base de données ?", vbYesNo, "Demande de confirmation") = vbYes Then
        ActiveCell = TxtDate.Value 'A partir de cette cellule on colle le champ
        ActiveCell.Offset(0, 1).Value = TimeValue(txtHeure & ":00:00") 'Puis on se décale de 1 etc
        ActiveCell.Offset(0, 2).Value = txtCategorie
        ActiveCell.Offset(0, 3).Value = cboDescription
        ActiveCell.Offset(0, 4).Value = txtNbpalette + 0
        ActiveCell.Offset(0, 7).Value = cboUtilisateur

        txtCategorie = ""
        cboDescription = ""
        cboUtilisateur = ""
        TxtDate = ""
        txtHeure = ""
        txtNbpalette = ""
End If
End Sub

Bonjour LouReeD et h2so4

Merci beaucoup pour votre aide j'y arrive enfin sauf pour un !! il bloque avec un code erreur 13 et celui je ne trouve pas ou alors je n'arrive pas à le faire (je pense plutôt à cela pour la correction. C'est pour le formulaire Tache occasionnelles pour le champ Temps qui s’appelle txtTemps1 . je dois l'avoir sur la base de données sous ce format hh:mm

Dans la textbox je rentre ce format 130 qui me change en 01:30 avec ce code:

Private Sub txtTemps1_AfterUpdate()

txtTemps1 = Format(txtTemps1.Value, "0#:##")

End Sub

et dans le commandbutton j'ai essayer de mettre et cela ne marche pas.....

Private Sub btnAjout_Click()

Sheets("Base de données").Activate

Range("A1").Select

Selection.End(xlDown).Select 'On se positionne sur la ligne non vide

Selection.Offset(1, 0).Select 'On se décale d'une ligne vers le bas

If MsgBox("Voulez vous faire l'enregistrement dans la base de données ?", vbYesNo, "Demande de confirmation") = vbYes Then

ActiveCell = TxtDate1.Value 'A partir de cette cellule on colle le champ

ActiveCell.Offset(0, 1).Value = txtHeure1 + 0 'Puis on se décale de 1 etc

ActiveCell.Offset(0, 2).Value = txtCategorie1

ActiveCell.Offset(0, 3).Value = cboDescription1

ActiveCell.Offset(0, 4).Value = txtNbpalette1 + 0

ActiveCell.Offset(0, 5).Value = CDate(txtTemps1) 'CELUI LA JE BLOQUE

ActiveCell.Offset(0, 6).Value = txtNbpersonne1 + 0

ActiveCell.Offset(0, 7).Value = cboUtilisateur1

End If

End Sub

Merci.

Bonjour,

essaie ceci

'******************************************
'Procédure Enregistrement formulaire dans la base de données
'******************************************
Private Sub btnAjout_Click()

    Sheets("Base de données").Activate
    Range("A1").Select
    Selection.End(xlDown).Select    'On se positionne sur la ligne non vide
    Selection.Offset(1, 0).Select    'On se décale d'une ligne vers le bas
    If MsgBox("Voulez vous faire l'enregistrement dans la base de données ?", vbYesNo, "Demande de confirmation") = vbYes Then
        ActiveCell = DateValue(TxtDate1)    'A partir de cette cellule on colle le champ
        ActiveCell.Offset(0, 1).Value = txtHeure1 + 0    'Puis on se décale de 1 etc
        ActiveCell.Offset(0, 2).Value = txtCategorie1
        ActiveCell.Offset(0, 3).Value = cboDescription1
        ActiveCell.Offset(0, 4).Value = txtNbpalette1 + 0
        ActiveCell.Offset(0, 5).Value = TimeValue(txtTemps1)
        ActiveCell.Offset(0, 6).Value = txtNbpersonne1 + 0
        ActiveCell.Offset(0, 7).Value = cboUtilisateur1

        'txtCategorie1 = ""
        cboDescription1 = ""
        cboUtilisateur1 = ""
        'TxtDate1 = ""
        txtHeure1 = ""
        txtNbpalette1 = ""
        txtNbpersonne1 = ""
        txtTemps1 = ""
        Dim MaDate As Date
        MaDate = Now()
        MaCategorie = ZREA
        TxtDate1.Value = Format(MaDate, "DD/MM/YYYY")
        txtCategorie1.Value = "DIVERS"
    End If
End Sub

Re.

Merci à vous 2 "LouReeD et h2so4"

Bonne journée

Bonsoir,

merci des remerciements, mais je n'y suis pas pour grand chose !

@ bientôt

LouReeD

Rechercher des sujets similaires à "vba formulaire exportation texte lieu numerique"