XL 2010 Pourcentage Dans Textbox

RoyalP

XLDnaute Occasionnel
Bonjours les Forumeurs, Forumeuses, Pro, debutants et Nouveaux.

Alors je vais vous expliquer mon probleme. J'ai une feuille Cotisations , j'ai crée un userform que j'appelle via le raccourci CTRL+C, dans ma feuille Cotisations j'ai des cellules en % , ces Cellules je voudrais les afficher dans mes textbox mais j'ai beau essayer tout ce que je trouve sur le net pas moyen de m'afficher autre chose que du decimal !!!! J'y comprend plus rien et dieux sait que j'en ai fait des essais. J'dois me faire vieux c'est surement ca ou c'est ma formation qui me vide la tete :D ( Faut bien une excuse pour ne pas dire que je suis nul :) )

Je vous poste l'exemple de mon userform2

VB:
Option Explicit

Dim Ws As Worksheet

Private Sub UserForm2_Initialize()

  Set Ws = Sheets("Cotisations")
 
  With Ws
 
    Me.TextBox39.Value = .Range("B5").Value
    Me.TextBox38.Value = .Range("B6").Value
    Me.TextBox37.Value = .Range("B7").Value
    Me.TextBox36.Value = .Range("B8").Value
   
    Me.TextBox35.Value = .Range("B10").Value
    Me.TextBox34.Value = .Range("B11").Value
    Me.TextBox33.Value = .Range("B12").Value
    Me.TextBox8.Value = .Range("B13").Value
   
    Me.TextBox9.Value = .Range("B14").Value
   
    Me.TextBox10.Value = .Range("B15").Value
    Me.TextBox11.Value = .Range("B16").Value
    Me.TextBox12.Value = .Range("B17").Value
   
    Me.TextBox13.Value = .Range("B18").Value
    Me.TextBox14.Value = .Range("B19").Value
    Me.TextBox15.Value = .Range("B20").Value

  End With

End Sub

Private Sub Label2_Click()
UserForm2.Show 0
End Sub



'    .Range("B5").Value = Val(Replace(Replace(Me.TextBox39, "%", ""), ",", ".")) / 100
'    .Range("B6").Value = Val(Replace(Replace(Me.TextBox38, "%", ""), ",", ".")) / 100
'    .Range("B7").Value = Val(Replace(Replace(Me.TextBox37, "%", ""), ",", ".")) / 100
'    .Range("B8").Value = Val(Replace(Replace(Me.TextBox36, "%", ""), ",", ".")) / 100
   
'    .Range("B10").Value = Val(Replace(Replace(Me.TextBox35, "%", ""), ",", ".")) / 100
'    .Range("B11").Value = Val(Replace(Replace(Me.TextBox34, "%", ""), ",", ".")) / 100
'    .Range("B12").Value = Val(Replace(Replace(Me.TextBox33, "%", ""), ",", ".")) / 100
'    .Range("B13").Value = Val(Replace(Replace(Me.TextBox8, "%", ""), ",", ".")) / 100
   
'    .Range("B14").Value = Val(Replace(Replace(Me.TextBox9, "%", ""), ",", ".")) / 100
   
'    .Range("B15").Value = Val(Replace(Replace(Me.TextBox10, "%", ""), ",", ".")) / 100
'    .Range("B16").Value = Val(Replace(Replace(Me.TextBox11, "%", ""), ",", ".")) / 100
'    .Range("B17").Value = Val(Replace(Replace(Me.TextBox12, "%", ""), ",", ".")) / 100
     
'    .Range("B18").Value = Val(Replace(Replace(Me.TextBox13, "%", ""), ",", ".")) / 100
'    .Range("B19").Value = Val(Replace(Replace(Me.TextBox14, "%", ""), ",", ".")) / 100
'    .Range("B20").Value = Val(Replace(Replace(Me.TextBox15, "%", ""), ",", ".")) / 100

Private Sub TextBox39_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox39 = WorksheetFunction.RoundDown(Sheets("Cotisations").Range("B5") * 100, 0) & "%"
End Sub

Je vous joint une partie de ce que j'ai fait car je ne peux pas avancer sans avoir resolu ce probleme

Merci d'avance a tous ceux qui pourront m'aider, je partagerais mon travail une fois terminé ( ca pourra servir a certains GDP 'Gestionnaire de Paie' )
 

Pièces jointes

  • test_gdp.xlsm
    36.5 KB · Affichages: 139

jecherche

XLDnaute Occasionnel
Bonjour,

Continuons avec B5 et TexBox39

Je crois que le nom de la macro doit être : Private Sub UserForm_Initialize()
Et non : Private Sub UserForm2_Initialize()

Dans les propriétés du TexBox39, vider ControlSource
Dans les propriétés du TexBox39, vider Value
Plus la proposition de Eriiic

Si tout cela te convient, il restera à modifier les autres TexBox concernés.


Jecherche
 

ChTi160

XLDnaute Barbatruc
Bonjour RoyalP
Bonjour le Fil,Le Forum

Pas sur d'avoir Compris ,pour ce qui est du Transfert des données dans les TextBox depuis la feuille source
je pense que tu as des réponses .
une autre possibilité :
VB:
Private Sub UserForm_Initialize()
  Set Ws = Sheets("Cotisations")
    With UserForm2
       With .TextBox39
           .Value = Format(Ws.Range("B5"), "percent")
           .Tag = Format(CDbl(Ws.Range("B5")), "##0.0000")
           .ControlTipText = Format(CDbl(Ws.Range("B5")), "##0.0000")'Pour Test peut être supprime
       End With
       With .TextBox38
            .Value = Format(Ws.Range("B6"), "percent")
            .Tag = Format(CDbl(Ws.Range("B6")), "##0.0000")
            .ControlTipText = Format(CDbl(Ws.Range("B6")), "##0.0000") 'Pour Test peut être supprime
       End With
       With .TextBox37
            .Value = Format(Ws.Range("B7"), "percent")
            .Tag = Format(CDbl(Ws.Range("B7")), "##0.0000")
            .ControlTipText = Format(CDbl(Ws.Range("B7")), "##0.0000") 'Pour Test peut être supprime
       End With
       With .TextBox36
            .Value = Format(Ws.Range("B8"), "percent")
            .Tag = Format(CDbl(Ws.Range("B8")), "##0.0000")
            .ControlTipText = Format(CDbl(Ws.Range("B8")), "##0.0000") 'Pour Test peut être supprime
       End With
'Modifier pour autres controls TextBox
  End With 'UserForm2
End Sub
avec ainsi , la possibilité d'utiliser la propriété ".Tag" du control , pour récupérer la valeur du Pourcentage.
je vois que tu veux depuis les TextBox modifier les Valeurs de la feuille Source
comment veux tu procéder ,tu tapes une valeur dans un TextBox et en sortant de ce Textbox tu veux changer la valeur dans la feuille Source ?????
Bonne journée
Amicalement
Jean Marie
 

RoyalP

XLDnaute Occasionnel
Bonjour,

vide la propriété Contrôle Source, ça gène.
Par ailleurs choisir Ctrl+c pour afficher l'UF n'est pas judicieux. C'est le raccourci clavier qui sert le plus.
eric
oui j'viens de voir l'erreur de raccouric !!!

Bonjour RoyalP
Bonjour le Fil,Le Forum

Pas sur d'avoir Compris ,pour ce qui est du Transfert des données dans les TextBox depuis la feuille source
je pense que tu as des réponses .
une autre possibilité :

avec ainsi , la possibilité d'utiliser la propriété ".Tag" du control , pour récupérer la valeur du Pourcentage.
je vois que tu veux depuis les TextBox modifier les Valeurs de la feuille Source
comment veux tu procéder ,tu tapes une valeur dans un TextBox et en sortant de ce Textbox tu veux changer la valeur dans la feuille Source ?????
Bonne journée
Amicalement
Jean Marie
- je teste ta solution
- Oui je veux que si les valeurs ne sont pas bonnes qu'on puisse les changer et les stocker dans Cotisations

MERCI pour l'aide je reviens vers vous avec le resultat.
 

RoyalP

XLDnaute Occasionnel
CA MARCHEEEEEEEEEE c'est genial !!!! 2 jours que je galerais dessus. MERCIIIIIIIIIIIIII , vous m'enlevez une sacrés epine du pied.

je vais voir pour pouvoir changer si le % n'est pas bon , ca devrait pas trop poser de problemes.

Trop cool de votre part. Merci a tous.
 

Discussions similaires

Réponses
7
Affichages
974
H
Réponses
19
Affichages
5 K

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83