Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yusukens

XLDnaute Occasionnel
Bonjour
je reviens vers vous demander de l'aide.
En cours d'initiation au language VBA en autodidacte.

j'ai un probleme que j'arrive pas a trouver la solution dans mes bouqins.

Mon problème:

Lorsque j'envoie la valeur d'un TEXTBOX vers une cellule, celle ci ce transforme en format TEXTE, or j'aimerai qu'il soit en Format Nombre ou standard afin de faire des calcul par derriere.

Voici mon code :




Code:
[COLOR=seagreen]'Afficher le choix de confirmation la modification[/COLOR]
vChoixModif = MsgBox("Souhaitez-vous Supprimer ce client ?", vbYesNo)
[COLOR=seagreen]'Si L'utilisateur clic sur oui ou non[/COLOR]
If vChoixModif = vbYes Then
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=0) = TextBox1
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=1) = TextBox2
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=2) = TextBox3
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=3) = TextBox4
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=4) = TextBox5
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=5) = TextBox6
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=6) = TextBox7
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=7) = TextBox8
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=8) = TextBox9
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=9) = TextBox10
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=10) = TextBox11
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=11) = TextBox12
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=12) = TextBox13
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=13) = TextBox14
    Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=14) = TextBox15
Else

MsgBox ("Rien changé")


End If

End Sub
 
Re : VBA Format cellule

Salut

Essaye avec les fonctions CDbl ou Val
exemple :

Code:
...................
Selection.End(xlToLeft).Offset(rowOffset:=0, columnOffset:=0) = [B]Val[/B](TextBox1) 'ou [B]CDbl[/B](TextBox1)
...................
A Tester

Bonne Journée
 
Re : VBA Format cellule

Bonjour Yusukens, Dull, PHlaurent, bonsjour le forum,

Il faut convertir la donnée mais attention plantage si le champ est vide... J'ai converti en Double qui accepte les décimaux

Essaie comme ça :

Code:
'Afficher le choix de confirmation la modification
vChoixModif = MsgBox("Souhaitez-vous Supprimer ce client ?", vbYesNo)
'Si L'utilisateur clic sur oui ou non
If vChoixModif = vbYes Then
 
    Selection.End(xlToLeft).Select 'pas trop compris... ???
    For x = 1 To 15
        If Me.Controls("TextBox" & x).Value <> "" Then
            ActiveCell.Offset(0, x - 1).Value = CDbl(Me.Controls("TextBox" & x).Value)
        End If
    Next x
Else
MsgBox ("Rien changé")
 
End If

Sinon, la propriété Value est la propriété par défaut. Elle n'est donc pas nécéssaire, même si préférable pour la compréhension. Mais elle renvoie une variable texte d'une Textbox.
 
Re : VBA Format cellule

Bonsoir Dull, phlaurent55 et Robert

Merci à vous trois de m'avoir répondu si rapidement.
j'ai testé vos propositions.
et ils marchent tous.

j'ai l'embara du choix.



merci vous trois, je retourne sur mon apprentissage

merci encore =)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
899
Réponses
7
Affichages
1 K
  • Question Question
Autres vbYes
Réponses
5
Affichages
800
H
Réponses
3
Affichages
1 K
HugoB99
H
Retour