Modifier le format d'une cellule

Bonjour,

Dans un userform, lorsque je saisi un chiffre dans un champs et que je valide,la cellule qui receptionne la donnée modifie son format.Et je ne sais malheureseusement pas de quelle maniere je dois modifier mon code :

ActiveCell.Offset(0, 35).Value = txtcategorielogement

Merci d'avance !

Bonjour,

qui receptionne la donnée modifie son format.

Quel format voulez-vous ?

un exemple peut être ?

Cordialement

En effet ma demande n'est pas très claire...En fait je souhaiterais que mon code indique la value de la textbox et qu'il force,pour que le format de la cellule passe en nombre.J’espère avoir été plus clair !

Merci d'avance !

re

essayez ceci :

ActiveCell.Offset(0, 35).Value = cdbl(txtcategorielogement)

Cordialement

bonsoir,

je viens de tester votre code et j'ai une erreur de type "13" . Que faut il modifier ?

merci

Bonjour,

c'est le contenu de txtcategorielogement n'est pas convertible en nombre.

Vba utilise le . en séparateur décimal par exemple, donc remplacer la , si besoin.

Et s'il y a des lettres même punition...

eric

Pourtant à la base je rentre bien un nombre dans la textbox et ce nombre s'affiche bien ensuite dans la cellule ! Sauf qu'une autre colonne avec une formule ne reconnait pas ce chiffre ! Si je supprime ce chiffre manuellement et le le réécrit la ça marche !

oui, ben sans fichier et les instructions pour générer l'anomalie ça va être difficile...

Salut

Essais ceci

Private Sub TextBox8_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

'Pour autoriser uniquement la saisie de valeurs numériques dans un TextBox

Select Case KeyAscii

Case Is < 48, Is > 57

KeyAscii = 0

End Select

End Sub

change textbox8 par le numéro de ta textbox ou le nom


Salut

Essais ceci

Private Sub TextBox8_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

'Pour autoriser uniquement la saisie de valeurs numériques dans un TextBox

Select Case KeyAscii

Case Is < 48, Is > 57

KeyAscii = 0

End Select

End Sub

change textbox8 par le numéro de ta textbox ou le nom

Re

Dans la formule de l'autre colonne, essayer de faire intervenir la fonction CNUM

Comme le dit Eriic, difficle sans voir le fichier...

Cordialement

Merci beaucoup pour votre attention et vos réponses,

Je viens de télécharger mon fichier,cela sera plus simple en effet pour voir les problèmes.

Pour résumer : j'ai des soucis avec des textbox qui envoient des informations meme lorsque rien n'est saisi à l’intérieur

Je m'en suis rendu compte grâce à une colonne avec une formule NBVAL qui comptabilise une cellule alors que rien n'avait été saisi.

Dans le fichier téléchargé,lorsque l'on ouvre le formulaire (il faut valider une première fois a vide pour armer la saisie) les textbox qui posent problèmes sont en rouge :

  • Nom du conjoint (format TEXTE)
  • catégorie logement (Format Nombre)

Normalement si l'on ne saisi rien dans ce champ dans le formulaire (colonne Q dans la feuille Excel),la colonne AI (Nombre de personnes) qui comporte la la formule NBVAL ne devrait pas comptabiliser cette valeur puisque le champ est resté vide

En revanche j'ai un problème différent avec le champ " catégorie de logement", lorsque je saisi une valeur dans le formulaire et apres validation je vois bien la valeur s'afficher mais une autre colonne censée calculé à partir de la valeur affiché ne fait rien Par contre si je supprime manuellement cette valeur et et la ressaisie manuellement sans passer par le formulaire ça fonctionne

Vraiment merci d'avance !

Bonjour,

Normalement il faut ajouté ta formule dans ton usf bntvalidé pour qu'il le transféré aussi

"Par contre si je supprime manuellement cette valeur et et la ressaisie manuellement sans passer par le formulaire ça fonctionne "

Si tu as crée un tableau c'est tout a fait normal que lorsque tu effaces la valeur manuellement et que tu la resaisie elle fonctionne

Je vais regardé le fiché une fois chez moi si un autre membre du forum ne la pas déjà trouvé la réponse à ta solution

Bonjour,

Tu ne fais pas ce que Dan t'a indiqué au début : xx=cdbl(ta_valeur)

Un textbox est du texte comme son nom l'indique, et est collé comme tel dans le tableau (aligné à gauche et non à droite comme un numérique).

Et ensuite tu le testes en le comparant à un numérique ...SI(ET(AK5=1;...

Ca qui donne SI("1"=1;... qui sera toujours faux.

eric

eriiic a écrit :

Bonjour,

Tu ne fais pas ce que Dan t'a indiqué au début : xx=cdbl(ta_valeur)

Un textbox est du texte comme son nom l'indique, et est collé comme tel dans le tableau (aligné à gauche et non à droite comme un numérique).

Et ensuite tu le testes en le comparant à un numérique ...SI(ET(AK5=1;...

Ca qui donne SI("1"=1;... qui sera toujours faux.

eric

J'ai essayé mais j'ai un message d'erreur ! Sinon je voulais préciser que j'ai un niveau ultra faible, du coup ce qui semble être une évidence ne l'est pas du tout pour moi

Toujours est il que je vous remercie pour l'attention portée.


kira972j a écrit :

Bonjour,

Normalement il faut ajouté ta formule dans ton usf bntvalidé pour qu'il le transféré aussi

Oui exactement sauf que je sais pas le formuler en VBA !

Pourtant le post de dan était clair.

Qu'est-ce que tu ne comprends pas dedans ?

https://forum.excel-pratique.com/excel/modifier-le-format-d-une-cellule-t84330.html#p488687

eriiic a écrit :

Pourtant le post de dan était clair.

Qu'est-ce que tu ne comprends pas dedans ?

https://forum.excel-pratique.com/excel/modifier-le-format-d-une-cellule-t84330.html#p488687

Ce que je ne comprends pas c'est le message d'erreur que j'obtiens lorsque je copie/colle le code :

ActiveCell.Offset(0, 35).Value = CDbl(txtcategorielogement)

Merci

erreur 13

C'est pénible de devoir t'arracher tous les renseignement un par un...

Il y a quoi dans ton txtcategorielogement exactement ?

eriiic a écrit :

C'est pénible de devoir t'arracher tous les renseignement un par un...

Il y a quoi dans ton txtcategorielogement exactement ?

Dans cette textbox je saisi des nombres de 1 à 9 .Mais quelles sont les raisons qui font que le code

ActiveCell.Offset(0, 35).Value = CDbl(txtcategorielogement)

plante quand je le colle dans mon formulaire ?

Ensuite je tiens à préciser que je suis un néophyte qui souhaite s’améliorer et c'est pour cette raison que j'ai téléchargé mon userform !

Merci pour votre attention

Si txtcategorielogement = "2" par exemple je ne vois pas de raison d'avoir l'erreur 13 avec ta ligne de code.

Je passe la main

j'ai cette erreur avant de saisir quoique ce soit dans la textbox.J'ouvre mon bouton "Valider" je colle ce code et la j'ai une erreur ! et je demande pourquoi j'ai cette erreur ?

Rechercher des sujets similaires à "modifier format"