OVH Cloud OVH Cloud

transfert données pour DTA

5 réponses
Avatar
orange vraie
Si l'on doit transférer des fichiers excel en format texte pour une
utilisation ultérieure par DTA, (Internet banking, ou code barre sous les
chèques) nous sommes appelés à transformer des données numériques en texte.
Par expl une facture de 250,50 à verseur sur le compte 12-23-12 doit
s'écrire ainsi :
montant 10 caractères : 0000025050
compte 8 caractères : 1200023120
Lorsque l'on envoie le fichier, on n'envoie que les données textes suivantes
: 00000250501200023120
Ces données peuvent être traitées par les logiciels utilisés par les
banques.
Dès lors comment dire à la cellule :
a) il faut 10 caractères
b) calcul du nombre de caractères représenté par 250,50 sans compter la
virgule
c) ajouter devant la donnée, le nombre zéros nécessaires pour remplacer les
caractères manquants

Merci pour votre aide

5 réponses

Avatar
Youky
'en A1 le chiffre exemple 250.50
'en A2 le 12-23-12 soit 8 caracteres
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) * 1000
c = Mid([A2], 4, 2)
d = Right([A2], 2) * 10
MsgBox a & b & c & d
Youky
"orange vraie" a écrit dans le message de news:

Si l'on doit transférer des fichiers excel en format texte pour une
utilisation ultérieure par DTA, (Internet banking, ou code barre sous les
chèques) nous sommes appelés à transformer des données numériques en
texte.
Par expl une facture de 250,50 à verseur sur le compte 12-23-12 doit
s'écrire ainsi :
montant 10 caractères : 0000025050
compte 8 caractères : 1200023120
Lorsque l'on envoie le fichier, on n'envoie que les données textes
suivantes : 00000250501200023120
Ces données peuvent être traitées par les logiciels utilisés par les
banques.
Dès lors comment dire à la cellule :
a) il faut 10 caractères
b) calcul du nombre de caractères représenté par 250,50 sans compter la
virgule
c) ajouter devant la donnée, le nombre zéros nécessaires pour remplacer
les caractères manquants

Merci pour votre aide



Avatar
Youky
petite rectif si compte ex: 01-02-03 à cause des zéro
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) & "000"
c = Mid([A2], 4, 2)
d = Right([A2], 2) & "0"
MsgBox a & b & c & d

"Youky" a écrit dans le message de news:

'en A1 le chiffre exemple 250.50
'en A2 le 12-23-12 soit 8 caracteres
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) * 1000
c = Mid([A2], 4, 2)
d = Right([A2], 2) * 10
MsgBox a & b & c & d
Youky
"orange vraie" a écrit dans le message de news:

Si l'on doit transférer des fichiers excel en format texte pour une
utilisation ultérieure par DTA, (Internet banking, ou code barre sous les
chèques) nous sommes appelés à transformer des données numériques en
texte.
Par expl une facture de 250,50 à verseur sur le compte 12-23-12 doit
s'écrire ainsi :
montant 10 caractères : 0000025050
compte 8 caractères : 1200023120
Lorsque l'on envoie le fichier, on n'envoie que les données textes
suivantes : 00000250501200023120
Ces données peuvent être traitées par les logiciels utilisés par les
banques.
Dès lors comment dire à la cellule :
a) il faut 10 caractères
b) calcul du nombre de caractères représenté par 250,50 sans compter la
virgule
c) ajouter devant la donnée, le nombre zéros nécessaires pour remplacer
les caractères manquants

Merci pour votre aide







Avatar
tri marrant
Merci Youky pour tes réponses,
Malheureusement cela ne fonctionne pas chez moi. Est-ce que je devrais
activer une option de calcul ?
Je dois bien saisir cette formule sur une cellule et non dans un module ?
Il faudrait que pour le numéro de compte, j'obtienne toujours le même nombre
de caractères indépendamment du nombre de caractères de la cellule source.
Il y a en effet des comptes bancaires à 5 ou 6 chiffres et des comptes
postaux de 4 à 8 chiffres.

"Youky" a écrit dans le message de news:

petite rectif si compte ex: 01-02-03 à cause des zéro
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) & "000"
c = Mid([A2], 4, 2)
d = Right([A2], 2) & "0"
MsgBox a & b & c & d

"Youky" a écrit dans le message de news:

'en A1 le chiffre exemple 250.50
'en A2 le 12-23-12 soit 8 caracteres
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) * 1000
c = Mid([A2], 4, 2)
d = Right([A2], 2) * 10
MsgBox a & b & c & d
Youky
"orange vraie" a écrit dans le message de news:

Si l'on doit transférer des fichiers excel en format texte pour une
utilisation ultérieure par DTA, (Internet banking, ou code barre sous
les chèques) nous sommes appelés à transformer des données numériques en
texte.
Par expl une facture de 250,50 à verseur sur le compte 12-23-12 doit
s'écrire ainsi :
montant 10 caractères : 0000025050
compte 8 caractères : 1200023120
Lorsque l'on envoie le fichier, on n'envoie que les données textes
suivantes : 00000250501200023120
Ces données peuvent être traitées par les logiciels utilisés par les
banques.
Dès lors comment dire à la cellule :
a) il faut 10 caractères
b) calcul du nombre de caractères représenté par 250,50 sans compter la
virgule
c) ajouter devant la donnée, le nombre zéros nécessaires pour remplacer
les caractères manquants

Merci pour votre aide











Avatar
Youky
ce que j'ai envoyé était une macro, en non une formule, donc à mettre dans
un module.
pour le compte ma macro ne prenait que 8 caracteres, il serait bon d'avoir
un exemple
postaux 4 chiffres 1234 ou 1-2-3-4
Est-ce que le signe "-" est toujours présent 3 fois
en attendant voici une formule avec le montant en A1
=REPT(0;10-NBCAR(A1*100))& A1*100
Youky
"tri marrant" <' a écrit dans le message de news:

Merci Youky pour tes réponses,
Malheureusement cela ne fonctionne pas chez moi. Est-ce que je devrais
activer une option de calcul ?
Je dois bien saisir cette formule sur une cellule et non dans un module ?
Il faudrait que pour le numéro de compte, j'obtienne toujours le même
nombre de caractères indépendamment du nombre de caractères de la cellule
source. Il y a en effet des comptes bancaires à 5 ou 6 chiffres et des
comptes postaux de 4 à 8 chiffres.

"Youky" a écrit dans le message de news:

petite rectif si compte ex: 01-02-03 à cause des zéro
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) & "000"
c = Mid([A2], 4, 2)
d = Right([A2], 2) & "0"
MsgBox a & b & c & d

"Youky" a écrit dans le message de news:

'en A1 le chiffre exemple 250.50
'en A2 le 12-23-12 soit 8 caracteres
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) * 1000
c = Mid([A2], 4, 2)
d = Right([A2], 2) * 10
MsgBox a & b & c & d
Youky
"orange vraie" a écrit dans le message de news:

Si l'on doit transférer des fichiers excel en format texte pour une
utilisation ultérieure par DTA, (Internet banking, ou code barre sous
les chèques) nous sommes appelés à transformer des données numériques
en texte.
Par expl une facture de 250,50 à verseur sur le compte 12-23-12 doit
s'écrire ainsi :
montant 10 caractères : 0000025050
compte 8 caractères : 1200023120
Lorsque l'on envoie le fichier, on n'envoie que les données textes
suivantes : 00000250501200023120
Ces données peuvent être traitées par les logiciels utilisés par les
banques.
Dès lors comment dire à la cellule :
a) il faut 10 caractères
b) calcul du nombre de caractères représenté par 250,50 sans compter la
virgule
c) ajouter devant la donnée, le nombre zéros nécessaires pour remplacer
les caractères manquants

Merci pour votre aide















Avatar
tri marrant
Merci beaucoup Youki pour cette formule,
elle répond pleinement à ce que j'attendais.
Avec mon salut cordial !
"Youky" a écrit dans le message de news:

ce que j'ai envoyé était une macro, en non une formule, donc à mettre dans
un module.
pour le compte ma macro ne prenait que 8 caracteres, il serait bon
d'avoir un exemple
postaux 4 chiffres 1234 ou 1-2-3-4
Est-ce que le signe "-" est toujours présent 3 fois
en attendant voici une formule avec le montant en A1
=REPT(0;10-NBCAR(A1*100))& A1*100
Youky
"tri marrant" <' a écrit dans le message de news:

Merci Youky pour tes réponses,
Malheureusement cela ne fonctionne pas chez moi. Est-ce que je devrais
activer une option de calcul ?
Je dois bien saisir cette formule sur une cellule et non dans un module ?
Il faudrait que pour le numéro de compte, j'obtienne toujours le même
nombre de caractères indépendamment du nombre de caractères de la cellule
source. Il y a en effet des comptes bancaires à 5 ou 6 chiffres et des
comptes postaux de 4 à 8 chiffres.

"Youky" a écrit dans le message de news:

petite rectif si compte ex: 01-02-03 à cause des zéro
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) & "000"
c = Mid([A2], 4, 2)
d = Right([A2], 2) & "0"
MsgBox a & b & c & d

"Youky" a écrit dans le message de news:

'en A1 le chiffre exemple 250.50
'en A2 le 12-23-12 soit 8 caracteres
a = Right(10000000000# + [A1] * 100, 10)
b = Left([A2], 2) * 1000
c = Mid([A2], 4, 2)
d = Right([A2], 2) * 10
MsgBox a & b & c & d
Youky
"orange vraie" a écrit dans le message de news:

Si l'on doit transférer des fichiers excel en format texte pour une
utilisation ultérieure par DTA, (Internet banking, ou code barre sous
les chèques) nous sommes appelés à transformer des données numériques
en texte.
Par expl une facture de 250,50 à verseur sur le compte 12-23-12 doit
s'écrire ainsi :
montant 10 caractères : 0000025050
compte 8 caractères : 1200023120
Lorsque l'on envoie le fichier, on n'envoie que les données textes
suivantes : 00000250501200023120
Ces données peuvent être traitées par les logiciels utilisés par les
banques.
Dès lors comment dire à la cellule :
a) il faut 10 caractères
b) calcul du nombre de caractères représenté par 250,50 sans compter
la virgule
c) ajouter devant la donnée, le nombre zéros nécessaires pour
remplacer les caractères manquants

Merci pour votre aide