XL 2016 Format cellule

micpid62

XLDnaute Occasionnel
Bonjour
Je voudrai une explication sur l'emplacement des chiffre dans une cellule
A l'aide d'un formulaire je rempli des chiffre dans les cellules dans un tableau.
Tout fonctionne et les chiffes se positionne à gauche dans les cellules (les cellules sont en mode standard)
Lorsque je ressaisi ces chiffes dans les cellules ils se positionne à droite.
Comment faire pour les positionner toujours à droite
Merci pour votre aide
 
Solution
Bonjour

Un nombre est par convention aligné à droite
Excel respecte cette règle et s'il reconnait un nombre, il l'aligne à droite

Tout alignement à gauche, sauf forçage par l'utilisateur, indique qu'Excel détecte un texte

Le code de ton formulaire inscrit donc du texte et non des nombres dans les cellules

chris

XLDnaute Barbatruc
Bonjour

Un nombre est par convention aligné à droite
Excel respecte cette règle et s'il reconnait un nombre, il l'aligne à droite

Tout alignement à gauche, sauf forçage par l'utilisateur, indique qu'Excel détecte un texte

Le code de ton formulaire inscrit donc du texte et non des nombres dans les cellules
 

job75

XLDnaute Barbatruc
Bonjour micpid, chris, le forum,

Actuellement vous avez par exemple :
VB:
Set c = Range("A2")
c = TextBox1
Utilisez :
VB:
Set c = Range("A2")
If IsNumeric(TextBox1) Then c = CDbl(TextBox1) Else c = TextBox1
ou encore :
VB:
Set c = Range("A2")
c = Val(Replace(TextBox1, ",", "."))
A+
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Il me semble que toute saisie dans un UserForm est au format Texte.
Donc au moment d'assigner ladite saisie à une cellule d'une feuille, si on veut que ce soit un nombre, il faut passer par une conversion du genre CDec().
 
Dernière édition:

Deadpool_CC

XLDnaute Accro
Bonsoir,
le .value renvoie la valeur dans la cellule mais il y a de grande chance que cela soit interprété comme du texte de base et pas converti.
Donc comme le précise TooFatBoy (#6) ... soit tu forces une conversion en numérique pour que tout tes chiffres insérés dans tes celulle excel soit de vrai nombre, soit tu laisse comme cela et change le format de ta colonne de 'standard' à 'Texte' pour que tout tes chiffres reste en 'Texte' dans la colonne...
tout dépend ce que tu veux en faire ensuite ... des calculs, un code à barre, ...
 

micpid62

XLDnaute Occasionnel
Encore merci pour m'aider mais je ne trouve pas la solution
J'essaye de mettre en nombre dans la feuille défunt pour pouvoir faire un récapitulatif dans la feuille fichePdf
comme vous pouvez le constater en ajouter un défunt avec le formulaire de saisi des défunts le récaputulatif de la feuille fichePdf ne se fait pas. Par contre si je saisi directement les données dans la feuille defunt, la feuille fichePdf se met à jour.
Je joint mon fichier pour éventuellement me solutionner
 

Pièces jointes

  • GestionCimetiere_SuisseV09.xlsm
    553.8 KB · Affichages: 3

TooFatBoy

XLDnaute Barbatruc
une dernière tentative :
Sheets("defunt").Range("a" & dlt) = CDec(Me.Def1)
Sheets("defunt").Range("b" & dlt) = Me.Def2
Sheets("defunt").Range("c" & dlt) = Me.Def3
Sheets("defunt").Range("d" & dlt) = CDec(Me.Def4)
Sheets("defunt").Range("e" & dlt) = CDec(Me.Def5)


ton surnom c'est Poupou ? 🤔 😅 🥳
 

job75

XLDnaute Barbatruc
Bonjour le forum,

La conversion des nombres se fait très bien avec ceci :
VB:
   Sheets("defunt").Range("a" & dlt) = Def1.Value
   Sheets("defunt").Range("b" & dlt) = Def2
   Sheets("defunt").Range("c" & dlt) = Def3
   Sheets("defunt").Range("d" & dlt) = Def4.Value
   Sheets("defunt").Range("e" & dlt) = Def5.Value
Quant aux macros Defx_Change seule celle-ci est à conserver :
VB:
Private Sub Def2_Change()
Def2 = UCase(Def2)
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote