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

vinpilo Messages postés 3 Statut Membre -  
via55 Messages postés 14392 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.

4 réponses

  1. via55 Messages postés 14392 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
  2. 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
    1. via55 Messages postés 14392 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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
  3. Miura564 Messages postés 14829 Date d'inscription   Statut Membre Dernière intervention   1 560
     
    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
  4. 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
    1. via55 Messages postés 14392 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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