Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2011, 12h41   #1
Membre éclairé
 
Inscription : janvier 2005
Messages : 445
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 445
Points : 348
Points : 348
Par défaut vba document txt duplique 0 n fois

Bonjour,
je souhaiterai remplir un fichier txt à partir de ma BDD, mon code marche très bien seulement pour le champs rs![net] c'est un entier pour éviter la virgule j'ai fait la multiplication par 100 au lieu d'écrire 3000,00 on va avoir 300000 ce champs va se représenter dans le document texte par 15 caractère donc 300000 c'est 6 caractère je souhaiterai ajouter 14 zéro avant 300000. existe t-il une commande qui duplique le chiffre 0 n fois?
voici mon code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Dim intFic As Integer
Dim client As tClient
Dim intNum As Integer
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("personnel")
intFic = FreeFile
Open "e:\test\monfichier.txt" For Output As intFic
intNum = 0
rs.MoveFirst
Write #intFic, rs.RecordCount
While Not rs.EOF
'Ajoute la donnée
print #intFic, "*" & rs![ccp] & rs![net] * 100 & rs![NOMPREN] '& vbNewLine
rs.MoveNext
Wend
Close intFic
rs.Close
MERCI
__________________
Deux, n'apprendront pas; le timide et l'arrogant
hocine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 14h47   #2
Membre Expert
 
Femme
Ingénieur développement logiciels
Inscription : juin 2007
Messages : 480
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juin 2007
Messages : 480
Points : 1 024
Points : 1 024
Bonjour,
La fonction Format permet (entre autre) d'ajouter des 0 devant un nombre.
Par exemple, pour formater une variable maVar en un texte de 15 caractères de long avec des 0 pour compléter devant, la formule est
Code :
Format(maVar, "000000000000000")
Si maVar vaut 30000, le résultat sera 000000000030000.

Dans ton cas, je pense que la bonne syntaxe est :
Code :
print #intFic, "*" & rs![ccp] & Format(rs![net] * 100, "000000000000000") & rs![NOMPREN] '& vbNewLine
tedo01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 14h54   #3
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
Tu peux utiliser
Code :
Format(TaValeur,string(20,"0"))
qui va directement formater ta valeur sur 20 (14+6) positions.

Autre solution pratique surtout pour les chaînes de caractères mais un peu moins directe :
Code :
right(20,string(20,"0") & TaValeur)
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 16h25   #4
Membre éclairé
 
Inscription : janvier 2005
Messages : 445
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 445
Points : 348
Points : 348
UN GRAND MERCI
__________________
Deux, n'apprendront pas; le timide et l'arrogant
hocine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h17.


 
 
 
 
Partenaires

Hébergement Web