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

Fermé
vinpilo Messages postés 3 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 17 février 2013 - 16 févr. 2013 à 12:12
via55 Messages postés 14110 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 23 mars 2023 - 17 févr. 2013 à 21:47
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.

4 réponses

via55 Messages postés 14110 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 23 mars 2023 2 580
16 févr. 2013 à 14:40
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 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 17 février 2013
17 févr. 2013 à 19:53
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 14110 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 23 mars 2023 2 580
17 févr. 2013 à 20:27
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 13290 Date d'inscription dimanche 18 novembre 2012 Statut Membre Dernière intervention 2 février 2015 1 573
17 févr. 2013 à 19:58
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 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 17 février 2013
17 févr. 2013 à 21:15
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 14110 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 23 mars 2023 2 580
17 févr. 2013 à 21:47
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