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

Problèmes transfert données depuis UserForm vers tableur

Hypokhampe

XLDnaute Nouveau
Salut le forum,

J'ai créé un formulaire dans un fichier de gestion de stock.
Il permet de créer des entrées en stock de nouveaux composants.

Lorsque je clique sur mon bouton Enregistrer, les données se transfèrent sans problème vers le tableur.

Malheureusement, je ne sais comment me sortir de plusieurs problèmes récurrents :
- la référence du composant (une série de chiffres formant un nombre) est en format texte dans le tableur après l'enregistrement (or j'aurais besoin d'un format nombre).
- idem pour la quantité entrante
- l'emplacement en stock (2 lettres et un chiffre) s'enregistre avec une majuscule puis une minuscule puis un chiffre (or je souhaiterais des majuscules uniquement)

Merci d'avance pour votre aide.

Et vive Excel Downloads ! Ce forum est génial !

A vous lire.

HK
 

Fred0o

XLDnaute Barbatruc
Re : Problèmes transfert données depuis UserForm vers tableur

Bonsoir Hypokhampe,

Pours questions 1 et 2 :
VB:
Range("xx").value = CInt(TextBox.value)
ou bien :
VB:
Range("xx").value = CInt(ComboBox.value)

Pour la question 3 :
VB:
Range("xx").value = UCase(TextBox.value)

A+
 

Hypokhampe

XLDnaute Nouveau
Re : Problèmes transfert données depuis UserForm vers tableur

Bizarre...

UCase fonctionne très bien (c'est la première donnée à entrer dans le tableur depuis le UserForm).
CInt semble bloquer...

Voici mon code pour un click sur le bouton Enregistrer, peut-être ai-je fait une erreur.
L'erreur renvoyée est une erreur '6' (dépassement de capacité).

'--- Positionnement dans la base
ligne = Sheets("STOCKS").[E65000].End(xlUp).Row + 1
'--- Transfert Formulaire dans STOCKS
Sheets("STOCKS").Cells(ligne, 2).Value = UCase(Me.emplacement.Value)
Sheets("STOCKS").Cells(ligne, 4).Value = CInt(Me.brutpso.Value)
Sheets("STOCKS").Cells(ligne, 5).Value = CInt(Me.reffinie.Value)
Sheets("STOCKS").Cells(ligne, 6).Value = CInt(Me.indice.Value)
Sheets("STOCKS").Cells(ligne, 8) = Me.designation
Sheets("STOCKS").Cells(ligne, 9) = Me.observations
Sheets("STOCKS").Cells(ligne, 10) = Me.projet
Sheets("STOCKS").Cells(ligne, 11) = Me.hpdl
Sheets("STOCKS").Cells(ligne, 12) = Me.ok
Sheets("STOCKS").Cells(ligne, 13) = Me.lot
Sheets("STOCKS").Cells(ligne, 14) = Me.jour & "/" & Me.mois & "/" & Me.annee
If Me.ok = "NC" Then
Sheets("STOCKS").Cells(ligne, 17).Value = CInt(Me.quantite.Value)
Else
Sheets("STOCKS").Cells(ligne, 16).Value = CInt(Me.quantite.Value)
End If
Me.emplacement = ""
Me.quantite = ""
Me.brutpso = ""
Me.reffinie = ""
Me.indice = ""
Me.designation = ""
Me.observations = ""
Me.projet = ""
Me.hpdl = ""
Me.ok = ""
Me.lot = ""
Me.jour = ""
Me.mois = ""
Me.annee = ""
 

Hypokhampe

XLDnaute Nouveau
Re : Problèmes transfert données depuis UserForm vers tableur

Bizarre...

UCase fonctionne très bien (c'est la première donnée à entrer dans le tableur depuis le UserForm).
CInt semble bloquer...

Voici mon code pour un click sur le bouton Enregistrer, peut-être ai-je fait une erreur.
L'erreur renvoyée est une erreur '6' (dépassement de capacité).

Code:
'--- Positionnement dans la base
ligne = Sheets("STOCKS").[E65000].End(xlUp).Row + 1
'--- Transfert Formulaire dans STOCKS
Sheets("STOCKS").Cells(ligne, 2).Value = UCase(Me.emplacement.Value)
Sheets("STOCKS").Cells(ligne, 4).Value = CInt(Me.brutpso.Value)
Sheets("STOCKS").Cells(ligne, 5).Value = CInt(Me.reffinie.Value)
Sheets("STOCKS").Cells(ligne, 6).Value = CInt(Me.indice.Value)
Sheets("STOCKS").Cells(ligne, 8) = Me.designation
Sheets("STOCKS").Cells(ligne, 9) = Me.observations
Sheets("STOCKS").Cells(ligne, 10) = Me.projet
Sheets("STOCKS").Cells(ligne, 11) = Me.hpdl
Sheets("STOCKS").Cells(ligne, 12) = Me.ok
Sheets("STOCKS").Cells(ligne, 13) = Me.lot
Sheets("STOCKS").Cells(ligne, 14) = Me.jour & "/" & Me.mois & "/" & Me.annee
 If Me.ok = "NC" Then
 Sheets("STOCKS").Cells(ligne, 17).Value = CInt(Me.quantite.Value)
   Else
   Sheets("STOCKS").Cells(ligne, 16).Value = CInt(Me.quantite.Value)
 End If
Me.emplacement = ""
Me.quantite = ""
Me.brutpso = ""
Me.reffinie = ""
Me.indice = ""
Me.designation = ""
Me.observations = ""
Me.projet = ""
Me.hpdl = ""
Me.ok = ""
Me.lot = ""
Me.jour = ""
Me.mois = ""
Me.annee = ""
 

Fred0o

XLDnaute Barbatruc
Re : Problèmes transfert données depuis UserForm vers tableur

Re-bonsoir,

Avec juste un bout de code incomplet, difficile de te répondre. Ensuite, j'ai répondu pour une quantité (que je supposais entière). Je vois que tu as repris le CInt pour plusieurs valeurs qui sont peut-être des nombres réels.

A toi d'adapter le fonction de conversion à ton besoin, voir l'aide EXCEL : A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…