Rajouter des zéro à gauche

Résolu
madflo
Messages postés
47
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
24 juin 2013
- 17 oct. 2005 à 09:35
crenaud76
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
- 17 oct. 2005 à 17:46
Bien en temps normal j'utilise objet=format(objet,"0###") pour avoir des zéros à gauche.



Ne souhaitant pas bidouiller en lancant soit une boucle rajoutant le
nombre de zéros voulus ou encore vérifiant la taille de mon texte et
rajouter x*0 à droite j'aimerai savoir pourquoi dans mes controles
Compte comptable lorsque je fais un objet=format(objet,"#####0") cela
me renvoie aucun changements.



Objet="411"

objet = Format(Objet,"#####0")



(là Objet = "411")



Merci de vos réponses

10 réponses

PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
17 oct. 2005 à 11:52
ouaip, au moins tu as droite et gauche.
à toi d'être tout de même certain que ton Objet ("411") aura toujours le bon Format (len <= longueur)

une petite modif des paramètres de la fonction : Optional Droite As Boolean = False
c'est préférable de toujours initialiser une valeur optionnelle. (même si défaut = 0 donc False)

++
PCPT
3
acecel
Messages postés
140
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
14 octobre 2006

17 oct. 2005 à 09:42
Essaye plutôt :
Format(Objet,"###000")
0
madflo
Messages postés
47
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
24 juin 2013

17 oct. 2005 à 09:50
Même résultat hélas



MsgBox Format("411", "###000")



message renvoie "411"
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
17 oct. 2005 à 11:17
salut,
si çà ne fonctionne pas, c'est que tu as mal déclaré Objet

testé VB6

Dim Objet As String
Objet = "411"
Debug.Print Format(Objet, "0###")

ok

PCPT [AFCK]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
17 oct. 2005 à 11:19
désolé, trop vite....... n'importe quoi.....
0
madflo
Messages postés
47
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
24 juin 2013

17 oct. 2005 à 11:23
Ce n'est rien... mais format n'a pas l'air de gérer ca :/ je suis
obligé de ne plus utiliser format et créer ma propre fonction lassant
des fois...
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
17 oct. 2005 à 11:30
ouai, je vois çà.
voici une proposition

VB6 toujours


Private Sub Command1_Click()
Dim Objet As String
Objet = "411"
MsgBox Format4Int(Objet)
End Sub
'
'
Private Function Format4Int(sVal As String) As Integer
Dim lVal As Long
lVal = CLng(sVal)

Select Case lVal
Case 0: Format4Int = -1
Case Is < 10: Format4Int = lVal * 1000
Case Is < 100: Format4Int = lVal * 100
Case Is < 1000: Format4Int = lVal * 10
Case Else: Format4Int = -1
End Select
End Function


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT [AFCK]
0
madflo
Messages postés
47
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
24 juin 2013

17 oct. 2005 à 11:39
Je reste sur du bidouillage c'est plus claire.



Public Function RLZero(Texte As String, Longueur As Integer, Optional Droite As Boolean) As String

'Fonction de formatage 0 à gauche ou à droite

'Texte : valeur de base (Exemple : "12")

'Longueur : longueur maximal du texte (Exemple : "4")

'Droite : par défaut à gauche, mettre true pour mettre les 0 à droite (Exemple : true)

'Resultat de l'exemple : "1200"

If Droite Then

Do While Len(Texte) < Longueur

Texte = Texte & "0"

Loop

Else

Do While Len(Texte) < Longueur

Texte = "0" & Texte

Loop

End If

RLZero = Texte

End Function
0
madflo
Messages postés
47
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
24 juin 2013

17 oct. 2005 à 11:55
ah oui merci :D j'oubliais la rigueur... Merci
0
crenaud76
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
28
17 oct. 2005 à 17:46
Et cela ...

Objet="411"
objet = Format(Objet,"000000")

Ce n'est pas ce que tu cherchers ?

Christophe
0