Afficher une unité différente selon le type de produit

vinpilo Messages postés 3 Statut Membre -  
via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,



j'ai un tableau dans lequel je dois rentrer des noms de produits agricole. Dans la cellule sous ce nom de produit je veux indiquer la dose par hectare. Mais certains produit on une dose/ha en Litre/ha et d'autres en Kg/ha.

Je vous savoir si il est possible de faire en sorte que la cellule contenant la dose/ha se mette automatiquement en forme, c'est à dire affiche le bon type d'unité dès que le nom du produit est indiqué au dessus. Sans devoir aller à chaque fois dans format de cellule.

Faut-il créer un base de donnée avec les différents produit et leur type d'unité correspondant?
Y a-t-il une fonction permettant cette mise en forme?

Merci pour votre aide.
A voir également:

4 réponses

via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   2 751
 
Bonjour,

C'est possible avec une macro

J'en ai préparé une

https://www.cjoint.com/?3BqoNghcsy6

A adapter à tes besoins
Et me dire si ça convient

Cdlmnt
0
vinpilo Messages postés 3 Statut Membre
 
merci d'avoir passé du temps à faire une macro mais le probleme c'est que lorsque j'essaye de l'ouvrir un message m'indique quelle a été réalisée avec une version plus recente d'excel que celle installée sur mon pc et je ne peux donc pas voir si elle correspond a ce que je cherche à faire.
0
via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   2 751
 
Bonsoir

Tu n'avais pas précisé que tu etais sur version 2003

Voila la macro
A mettre dans le worksheet de ta Feuil1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 2 Then
p = Cells(Target.Row - 1, Target.Column).Value
On Error GoTo erreur
d = WorksheetFunction.VLookup(p, Sheets("Feuil2").Range("A1:B100"), 2, False)

End If
Select Case d
Case 1: Target.NumberFormat = "_-* #,##0"" Dose/ha"""
Case 2: Target.NumberFormat = "_-* #,##0"" Litre/ha"""
Case 3: Target.NumberFormat = "_-* #,##0"" Kg/ha"""
End Select

Exit Sub
erreur:
MsgBox ("Valeur non trouvée")
End Sub

Avant en feuille 2 faire en colonne A (1 à 100) la liste des produits et en colonne B le code 1, 2 ou 3 (1=dose, 2 = litre , 3 =kg)

Cdlmnt
0
Miura564 Messages postés 14829 Date d'inscription   Statut Membre Dernière intervention   1 509
 
il faut que tu télécharge le pack de compatibilité, gratuit, sur le site de microsoft

http://www.microsoft.com/fr-fr/download/details.aspx?id=3

Ça te permettra d'ouvrir les fichiers Office 2007/2010 avec ta version (2000/XP/2003)
0
vinpilo Messages postés 3 Statut Membre
 
j'ai copié-collé tout ceci dans le woksheets et renseigné les colonne A et B de la feuille 2 mais après je sais pas comment rendre la macro effective sur la feuille1
cdlt
0
via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   2 751
 
la macro fonctionne automatiquement dès que tu rentres une valeur en ligne 2 de ta feuille
Si tu l'as bien mise dans le worksheet de la feuille concernée (Alt F11 pour ouvrir l'editeur, selectionner la feuille dans fenetre a gauche, selectionner worksheet au lieu de général dans fenetre de droite et coller la macro
0