XL 2013 Importer une valeur numérique d'une textbox dans une base de donnée

jptaz15

XLDnaute Nouveau
Bonjour,

J'essaie d'importer plusieurs données d'un userform dans une base de données, or certaines valeurs numériques, ainsi qu'une date ne sont pas reconnues comme tel par excel lorsqu'elles sont insérées dans la base de données (reconnues en format texte). Est-il possible de faire en sorte de transférer au format numérique (ou date) certaines textbox lors de l'importation?

Voici mon fichier en exemple

merci d'avance

JP
 

Fichiers joints

jptaz15

XLDnaute Nouveau
Bonjour Jptaz,
Il existe plein de formules de transformations de type :
Pour passer de texte en num, vous pouvez essayer CDbl si c'est un nombre ou CDate si c'est une date.
Bonjour Sylvanu,

merci pour le suivi. Dans le contexte ou le code me permettant d'exporter dans ma base de données est celui-ci et comprend toutes mes textbox Reg1 à Reg7, Est-ce possible de ne sélectionner que certaines qui pourront être converties. J'ai beau essayer, je ne trouve pas...

VB:
 For Ind = 1 To 7
  cStart.Offset(TargetRow, 0 + Ind - 1).Value = Controls("Reg" & Ind)
  Next Ind
merci et désolé, je ne suis pas un expert ;)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
S'il n'y a que 7 cas et si les valeurs à convertir ne se suivent alors supprimer le for next et mêtre à 7 lignes.
C'est de toute façon ce que vous auriez avec deux boucles.
 

jptaz15

XLDnaute Nouveau
Bonsoir,
S'il n'y a que 7 cas et si les valeurs à convertir ne se suivent alors supprimer le for next et mêtre à 7 lignes.
C'est de toute façon ce que vous auriez avec deux boucles.
Merci pour la réponse, je voulais simplement éviter d'ajouter du code ;)

bonne soirée
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Imaginons que 4 qui se suivent doivent être converti, et trois non, alors le code serait :
VB:
For Ind = 1 To 4
  cStart.Offset(TargetRow, 0 + Ind - 1).Value = Controls("Reg" & Ind)
Next Ind
For Ind = 5 To 7
  cStart.Offset(TargetRow, 0 + Ind - 1).Value = Controls("Reg" & Ind)
Next Ind
... soit 6 lignes. :)
Mais que ce passe t-il dans votre feuille si vous convertissez les 7 ?
 

jptaz15

XLDnaute Nouveau
Imaginons que 4 qui se suivent doivent être converti, et trois non, alors le code serait :
VB:
For Ind = 1 To 4
  cStart.Offset(TargetRow, 0 + Ind - 1).Value = Controls("Reg" & Ind)
Next Ind
For Ind = 5 To 7
  cStart.Offset(TargetRow, 0 + Ind - 1).Value = Controls("Reg" & Ind)
Next Ind
... soit 6 lignes. :)
Mais que ce passe t-il dans votre feuille si vous convertissez les 7 ?
Désolé des délais, en effet, on ne sauve pas vraiment de code et c'est plus simple comme cela :)
bonne journée :)
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas