Ajout d'un préfixe selon la valeur saisie

P

PionPion

Guest
Bonjour à tous,

Je ne sais malheureusement pas codé sous VBA, et je n'arrive pas à trouver une solution, en passant par les fonctions d'Excel.

Je vous expose mon problème...
Dans une colonne, selon une série de valeurs (comprises entre à 150000 et 500000, ou comprises entre et 550000 et 999999), je cherche à apposer un préfixe pour clarifier la lecture du document, tout en simplifiant la saisie de ces cellules.

Pour faire simple, j'aimerais que cette cellule affiche DI0XXXXXX si XXXXXX est compris entre 150000 et 500000, ou affiche II0XXXXXX si XXXXXX est compris entre 550000 et 999999.

J'avais pensé à accoler deux cellules (celle de gauche se renseignerait avec le préfixe), mais ça rend les copier-coller pénibles.

Si vous avez une solution à me proposer, je suis preneur ; cela me simplifierait la vie, car il s'agit d'un fichier professionnel, en fait.

Je vous souhaite une bonne journée, et vous remercie par avance.
 

Hervé

XLDnaute Barbatruc
Bonjour pionpion

Place ce code dans le module de ta feuille : clique droit sur le nom de l'onglet, puis visualiser le code, sur la feuille blanche qui apparait :

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target

Case 150000 To 500000: Target = 'DI0' & Target
Case 550000 To 999999: Target = 'II0' & Target
End Select

End Sub

Si tu veux limiter l'action de ce code à une colonne ou plage défini, dis nous le.

salut
 

andré

XLDnaute Barbatruc
Salut Pionpion, Hervé et les autres,

Hervé, es-tu sur que ta macro renvoie une valeur nombre et non du texte, de sorte que ce nombre puisse être employé dans tes calculs ?

Pour mettre un préfixe (je n'ai pas trouvé pour deux).
Menu Format / Cellele / Nombre / personnalisée
[>550000]'I10 '0;Standard
J'ai laissé un espace entre le I10 et le nombre de sorte que le nombre soit plus lisible.

Â+

Message édité par: andré, à: 28/11/2005 14:08
 

Hervé

XLDnaute Barbatruc
re pionpion, salut andré

En effet ce code transforme en texte la valeur rentré.

Par contre pour le format personnalisé, andré, pour un deuxième argument pourrions nous pas faire comme ceci :

[>550000]'I10 '0;[>150000]'DI0 '0;Standard


Par contre pour les limites supérieurs des bornes, a pas d'idée.

salut
 

andré

XLDnaute Barbatruc
Resalut à vousd eux,

Oui, j'y avais aussi songé, mais commetu l'as remarqué, cela ne fonctionne pas pour les valeurs entre 500000 et 550000, et supétieures à 999999, à moins que ces valeurs soient inexistantes, ... ou que c'est une erreur de frappe dans l'énoncé de la question !

Il y aurait toujours moyen d'empêcher la frappe de ces valeurs par le menu Données / Validation.

Â+
 
P

PionPion

Guest
Je viens de vérifier le format personnalisé. Et bien, ça marche :woohoo: !!
Honnêtement, c'est un truc que je vais noter dans un coin de ma tête.

En fait, si j'excluais les valeurs contenues entre 500000 et 550000, c'était pour me laisser une marge d'erreur. Je ne vous raconterais pas tout, c'est mon client qui est compliqué :S !

Je garde quand même le code dans un autre coin de ma tête, je m'en inspirerais au cas où.

En tout cas, merci à tous : je suis content, et mes collègues vont pouvoir reproduire facilement le truc sur leurs fichiers respectifs.

Je vous souhaite une bonne continuation !
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 394
Membres
103 537
dernier inscrit
alisafred974