Lettre et chiffre + 1
Résolu
MgM
-
venatcher Messages postés 11 Date d'inscription Statut Membre Dernière intervention - 8 juin 2010 à 16:26
venatcher Messages postés 11 Date d'inscription Statut Membre Dernière intervention - 8 juin 2010 à 16:26
A voir également:
- Lettre et chiffre + 1
- Clavier iphone chiffre et lettre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Chiffre en lettre - Télécharger - Outils professionnels
- Excel trier par ordre croissant chiffre - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
4 réponses
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
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)
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