Lettre et chiffre + 1
Résolu/Fermé
MgM
-
8 juin 2010 à 15:30
venatcher Messages postés 11 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 11 juillet 2011 - 8 juin 2010 à 16:26
venatcher Messages postés 11 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 11 juillet 2011 - 8 juin 2010 à 16:26
A voir également:
- Lettre et chiffre + 1
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Excel trier par ordre croissant chiffre - Guide
- Clavier iphone chiffre et lettre - Guide
- Caractere speciaux lettre - Guide
4 réponses
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
8 juin 2010 à 15:40
8 juin 2010 à 15:40
Bonjour,
Je suis plus spécialiste PHP mais voici l'idée :
numero_facture = 'F080';
Tu fais un substring du caractère 0 jusqu'au 1er (soit le F)
Tu fais un substring du caractère 1 jusqu'à la fin. (ça enleve le F)
Tu converti en int (tu perds le 1er 0)
Tu fais +1
Si le résultat est < 100
Tu ajoutes '0' devant le résultat (ça devient une chaine de caractère)
Tu remonte ta chaine en mettant le contenu du premier substring puis ton résultat.
En php ça donnerait
Voilà, l'algo reste le même, transcrit le VBA
Je suis plus spécialiste PHP mais voici l'idée :
numero_facture = 'F080';
Tu fais un substring du caractère 0 jusqu'au 1er (soit le F)
Tu fais un substring du caractère 1 jusqu'à la fin. (ça enleve le F)
Tu converti en int (tu perds le 1er 0)
Tu fais +1
Si le résultat est < 100
Tu ajoutes '0' devant le résultat (ça devient une chaine de caractère)
Tu remonte ta chaine en mettant le contenu du premier substring puis ton résultat.
En php ça donnerait
function incrementNumeroFacture($numero_facture) { $lettre = substr($numero_facture,0,1); $sNumero = substr($numero_facture,1); $nNumero = (int)$sNumero; $nNumero++; if($nNumero < 100) $sNumero = '0'.$nNumero; else $sNumero = (string)$nNumero; $numero_facture = $lettre.$sNumero; return $numerofacture; }
Voilà, l'algo reste le même, transcrit le VBA
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 8/06/2010 à 15:43
Modifié par lermite222 le 8/06/2010 à 15:43
Bonjour,
Dans le doute je dirais...
Le N° intrinséque de la facture devrait être 80
Supposons le N° de facture en Range("D3")
Supposons l'affichage dans la facture à la cellule Range("E3")
Sinon tu explique...
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Dans le doute je dirais...
Le N° intrinséque de la facture devrait être 80
Supposons le N° de facture en Range("D3")
Supposons l'affichage dans la facture à la cellule Range("E3")
Range("E3") = Format(Range("D3"), "F000")
Sinon tu explique...
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Merci beaucoup, j'ai transcrit du php et ca marche au top.
:D merci beaucoup Chris Compote
:D merci beaucoup Chris Compote
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
8 juin 2010 à 16:13
8 juin 2010 à 16:13
de rien ;-)
venatcher
Messages postés
11
Date d'inscription
mercredi 12 mai 2010
Statut
Membre
Dernière intervention
11 juillet 2011
8 juin 2010 à 16:26
8 juin 2010 à 16:26
Ce que tu peux faire c'est effectivement isoler la première lettre, incrémenter ton fichier donc par exemple 80 -> 81 et après tu fais un traitement :
si tonChiffre > 99 alors taLettre+tonChiffre
sinon si tonChiffre <= 99 && >=10 alors taLettre+0+tonChiffre
sinon taLettre+00+tonChiffre
Ce qui
pour F et 8 te donnera F008
pour G et 80 te donnera G080
pour H et 180 te donnera H180
Ceci est bien sur une aide algorithmique étant donné que je ne connais pas assez ton projet, si tu as d'autre question, n'hésite pas :)
Cordialement
si tonChiffre > 99 alors taLettre+tonChiffre
sinon si tonChiffre <= 99 && >=10 alors taLettre+0+tonChiffre
sinon taLettre+00+tonChiffre
Ce qui
pour F et 8 te donnera F008
pour G et 80 te donnera G080
pour H et 180 te donnera H180
Ceci est bien sur une aide algorithmique étant donné que je ne connais pas assez ton projet, si tu as d'autre question, n'hésite pas :)
Cordialement