Ajout d'un certain nombre de 0 en fonction d'une valeur donnée

Bonjour à tous !

Je suis tout nouveau et me suis inscrit afin d'avoir de l'aide pour une tâche que je réalise quotidiennement sur excel mais qui me prend assez de temps finalement si l'on met tous les traitements bout à bout.

Je souhaite donc réaliser une macro qui ajouterait des 0 en début de cellule en fonction d'une valeur prédéfinie afin d'obtenir un certain nombre de caractères dans la cellule.

1 - Selection de la colonne (ou de la plage) à transformer

2 - Définition du nombre de caratères souhaité dans la cellule via InputBox. (de 1 à 6 maximum)

3 - Ajout de 0 en début de celulle pour chaque valeur n'atteignant pas la valeur souhaité.

Est-ce que je dois tenter dans un premier temps de réaliser la macro moi-même et de la faire corriger/optimiser par l'un des membres de Forum ou quelqu'un avec plus de génie que moi pourrait me la sortir sans (trop) de difficultés ?

Cela fait plusieurs jours que j'essaye de réunir des fonctions qui pourrait me permettre d'atteindre mon but mais impossible de les lier entre-elles et d'obtenir le moindre résultat dans excel

je vous ai joint un classeur test pour que vous ayez une idée du résultat attendu.

Merci à vous en tout cas

11classeur-test.xlsx (9.04 Ko)

Bonjour,

Avec une formule de ce genre :

=REPT(0;4-NBCAR(B3))&B3

où ici le chiffre 4 représente le nombre de caractères maximum !

bonjour

un essai par formules

16fefeclochette.xlsx (9.19 Ko)

cordialement

Bonjour Tulipe & Theze,

Merci beaucoup pour vos réponses rapide. Malheureusement, je suis arrivé à réaliser des formules me permettant d'arriver au résultat voulu. J'aurais seulement aimé implémenter ces formules dans une macro pour n'avoir qu'à cliquer sur un bouton pour que le résultat se fasse

Néanmois, je ne connaissais pas la formule REPT et celle-ci va quand même me faciliter la vie pour le moment

Merci beaucoup

re

sauf erreur de ma part , j'ai constaté que la formule ne pouvait etre génerique ,pourquoi ???

cordialement

Bonjour FéFéClochette,

Je te propose ce fichier Excel :

10classeur-test.xlsm (15.51 Ko)

À l'ouverture du fichier, sélectionne B3:B7

Alt F8 ➯ fenêtre Macro ; choisis la macro FmtNorm (c'est pour : « Format, Normalisation »)

clic sur le bouton « Exécuter » ➯ fenêtre de saisie

tu peux annuler de suite l'opération que tu voulais faire par appui sur la touche Echap ou si tu entres 0 ; sinon, entre un nombre, qui sera accepté seulement s'il est de 1 à 6 ; pour respecter ton exercice, tape 4 puis clic sur « OK » ➯ c'est fait !

Pour la plage B9:B11, même procédure, mais en saisissant 3.

Pour la plage B13:B16, idem, en saisissant 2.

NB : si l'utilisateur se trompe et saisit une lettre, pas de plantage : la lettre a une valeur de 0, donc sortie de la sub (comme avec un appui sur Echap)

Alt F11 pour voir la macro puis revenir sur Excel

Si besoin, tu peux me demander une adaptation.

Merci de me dire si ça te convient.

Cordialement,

dhany

Hello Tulipe_4,

J'ai un doute sur la question que tu te poses mais je tente quand même d'y répondre. La formule ne peut pas être générique (ou devrait être modifiée très légèrement à chaque utilisation) car suivant le fichier que je traite, le nombre de caractère attendu peut différer. Dans le fichier test que je transmets, chaque CAS serait donc un fichier à part à traiter.

@dhany : bonjour et mes plus grands remerciements ! C'est exactement ce que je recherchais. Je peux même selectionner la colonne entière sans que le traitement ne soit faux (titre inchangé, cellule vide ignorée).

Quand je vois le nombre de ligne qu'il t'a fallut pour réaliser cette macro, je vois que j'ai encore beaucoup de boulot (rien que le param de mon InputBox fait plus de lignes).

Un très grand merci à vous tous. Je garde la fonction REPT dans un coin de ma tête, ça me sera surement utile. Si vous aviez été dans ma boite, ça aurait été croissant pour tout le monde

Bonjour,

tu peux aussi utiliser le format personnalisé 000000 par exemple sur ta colonne pour avoir ton nombre sur 6 chiffres.

C'est visuel, le contenu est inchangé.

2018 02 03 15 15 38

eric

Rechercher des sujets similaires à "ajout certain nombre fonction valeur donnee"