Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

pap

XLDnaute Nouveau
Bonjour,

J'aurai besoin d'un regard extérieur pour trouver une solution de calcul dans un tableau excel (plusieurs milliers de lignes et plusieurs dizaines de colonnes...

Alors voilà, j'ai un grand tableau excel qui regroupe une grande quantité de zones géographiques (on peut imaginer que les zones géographique soient des communes en France).
Sur chaque zone je peux avoir entre 1 et n élément(s) que j'ai qualifié avec un code.
Pour reprendre notre exemple des communes on pourrait dire que sur une commune je peux avoir entre 1 et n usines (1 usine = 1 élément).
Donc sur une commune je peux avoir entre 1 et n usine(s).
Pour chaque usine je dois attribuer une qualification environnementale (un code) qui doit rendre compte quantitativement et qualitativement du risque de pollution évalué sur 3 niveaux :

Le code est de la forme XX_YY_ZZ

Niveau 3 : risque élevé, la première partie du code (XX) en partant de la gauche

Niveau 2 : risque modéré, la partie centrale du code (YY)

Niveau 3 : risque faible, la partie à droite du code (ZZ)

Chaque partie du code permet d'évaluer la "quantité de risque" par niveau.

Le code doit ainsi exposer une vision qualitative et quantitative du risque.

Le code est rempli ainsi : une inspection d'une usine va permettre de relever tous les points pouvant engendrer un risque potentiel.
Imaginons que nous avons relever 10 points en tout avec la répartition qualitative suivante :

1 points relevant du risque élevé (niveau 3)
5 points relevant du risque modéré (niveau 2)
4 points relevant du risque faible (niveau 1)

Le code résultant pour cette usine serai donc : 01_05_04

Voici quelques exemples de codes possibles :

05_00_00 : une usine ne présentant que 5 points de risque mais tous avec le niveau max (niveau 3)

02_01_38 : une usine avec pas mal de points de risque, 3 en niveau max (niveau 3), 1 seule en niveau modéré (niveau 2) et 38 points dans le niveau le plus faible, le niveau 1

00_01_00 : une usine avec un seul point relevé, un seul risque modéré (niveau 2)

00_00_00 : une usine avec aucun point de risque particulier

L'idée, c'est qu'avec une liste de codes ainsi construit, on puisse faire un tri hiérarchisé dans excel très simplement ; le plus à risque en haut, le moins à risque en bas par exemple :
5_10_00
5_01_00
5_00_88
5_00_02
2_81_00
2_01_92
1_00_38
1_00_00
0_01_00
0_00_90
0_00_00


Mon objectif et de réaliser une carte de France (une carte des communes) du risque environnementale.
C'est à dire que je dois donner une valeur de risque à chaque commune avant de la cartographier pour obtenir en final une carte avec par exemple un dégradé de couleur allant du vert (risque inexistant) au noir (risque élevé).

Sur une commune, si j'ai plusieurs usines je vais avoir plusieurs codes à combiner.

On va considérer que les risques de même niveau se cumulent (s’additionnent)

Le petit tableau joint montre ce que je veux obtenir.

Chaque ligne correspond à une commune.
Ce que je veux, c'est trouver pour la colonne la plus à droite une formule de calcul dans excel qui me permette d'additionner toutes les cellules de la ligne en gardant le format de mon code !

Par exemple c'est d’additionner 05_00_00 avec 05_00_01 pour obtenir 10_00_01

Infos complémentaires : théoriquement dans mon travail chaque partie du code ne devrait pas dépasser 99 (théoriquement...) mais on va considérer que les choses doivent rester ouvertes et non bornées (donc de 1 à 999999....) !

MERCI de votre AIDE !
 

Pièces jointes

  • ESSAIS.xlsx
    9.9 KB · Affichages: 45
  • ESSAIS.xlsx
    9.9 KB · Affichages: 49
  • ESSAIS.xlsx
    9.9 KB · Affichages: 52

CISCO

XLDnaute Barbatruc
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour

Une possibilité en pièce jointe pour des codes ne dépassant pas 99.

@ plus
 

Pièces jointes

  • ESSAIS.xlsx
    11 KB · Affichages: 29
  • ESSAIS.xlsx
    11 KB · Affichages: 32
  • ESSAIS.xlsx
    11 KB · Affichages: 28
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour pap

Et bienvenue sur XLD

Si tu n'est pas allergique au Vba
Une fonction personnalisée

Edit : Salut Cisco
 

Pièces jointes

  • ESSAIS.xlsm
    16.1 KB · Affichages: 36
  • ESSAIS.xlsm
    16.1 KB · Affichages: 31
  • ESSAIS.xlsm
    16.1 KB · Affichages: 29

Modeste

XLDnaute Barbatruc
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour pap et bienvenue,

Peut-être avec une fonction personnalisée (si j'ai bien compris!?)

[Edit:] bing et re-bing! Salut CISCO et pierrejean :D
 

Pièces jointes

  • Additions codes risques (pap).xlsm
    17.8 KB · Affichages: 30

mécano41

XLDnaute Accro
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour à tous,

L'idée, c'est qu'avec une liste de codes ainsi construit, on puisse faire un tri hiérarchisé dans excel très simplement ; le plus à risque en haut, le moins à risque en bas par exemple :
5_10_00
5_01_00
5_00_88
5_00_02
2_81_00
2_01_92
1_00_38
1_00_00
0_01_00
0_00_90
0_00_00

Attention! c'est du texte...le tri se fera ainsi (j'ai mis exprès d'autres valeurs afin de monter le problème)

0_00_00
0_00_90
0_01_00
1_00_00
11_00_38
12_81_00
2_01_92
5_00_02
5_00_88
5_01_00
5_10_00

Le 11_... le 12....sont après le 1_.... alors qu'ils devraient être à la fin...(ou au début si tri décroissant)

Je pense qu'il faudra éclater le code de la colonne Somme en trois colonnes (donc avoir un tableau avec une colonne de référence de ligne + 3 colonnes), passer en numérique, trier le tableau de quatre colonnes (éventuellement avec tri sur les deux autres si nécessaire), recomposer le code de chaque ligne...

A moins que je n'aie pas tout compris...

Cordialement
 

pap

XLDnaute Nouveau
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour et whaooo, quelle réactivité !

3 réponses et 3 propositions qui fonctionnent !
Génial.

Malheureusement je ne connais pas du tout le vba !
Je sais, je devrais m'y mettre car j'ai régulièrement des trucs "alambiqués" à faire et je suis persuadé que ça m'aiderait grandement...

Je vais faire quelques tests grandeur nature avec les propositions qui m'ont été faites avant de me décider sur la solution que je vais retenir.

Je vous fais un retour ASAP.

Merci

PAP
 

CISCO

XLDnaute Barbatruc
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour à tous

En pièce jointe, mon fichier en prenant en compte la remarque de Mécano41, trié par rapport à la colonne G.

@ plus
 

Pièces jointes

  • ESSAIS.xlsx
    11.8 KB · Affichages: 27
  • ESSAIS.xlsx
    11.8 KB · Affichages: 30
  • ESSAIS.xlsx
    11.8 KB · Affichages: 30

pap

XLDnaute Nouveau
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour à tous,



Attention! c'est du texte...le tri se fera ainsi (j'ai mis exprès d'autres valeurs afin de monter le problème)

0_00_00
0_00_90
0_01_00
1_00_00
11_00_38
12_81_00
2_01_92
5_00_02
5_00_88
5_01_00
5_10_00

Le 11_... le 12....sont après le 1_.... alors qu'ils devraient être à la fin...(ou au début si tri décroissant)

Je pense qu'il faudra éclater le code de la colonne Somme en trois colonnes (donc avoir un tableau avec une colonne de référence de ligne + 3 colonnes), passer en numérique, trier le tableau de quatre colonnes (éventuellement avec tri sur les deux autres si nécessaire), recomposer le code de chaque ligne...

A moins que je n'aie pas tout compris...

Cordialement

Hello,

oui, je connais bien le problème, mais ça ne posera pas trop de soucis pour la suite car le tableau excel sera ensuite importé dans un SIG (Système d'Information Géographique) à partir duquel je vais réaliser mes hiérarchisations qui seront cartographiques.
Et puis, pour éviter ce soucis, j'ai spécifiquement travaillé sur le format du code, en mettant 01_22_22 et non 1_22_22, le soucis est levé.

Merci du commentaire.

PAP
 
Dernière édition:

pap

XLDnaute Nouveau
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour à tous

En pièce jointe, mon fichier en prenant en compte la remarque de Mécano41, trié par rapport à la colonne G.

@ plus

Bonjour CISCO,

Je vais regarder ta nouvelle version.
Le problème pointé par Mécano41 peut être levé si on respecte le format complet de mon code, à savoir XX_YY_ZZ et en écrivant 01_22_11 et non 1_22_11, dans ce cas la hiérarchisation du code dans excel fonctionne bien.

J'allais justement te faire un message pour la modif de ta proposition (pour avoir une somme finale du format XX_YY_ZZ).

Merci

PAP
 

Modeste geedee

XLDnaute Barbatruc
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonsour
Le code est de la forme XX_YY_ZZ

Ce que je veux, c'est trouver pour la colonne la plus à droite une formule de calcul dans excel qui me permette d'additionner toutes les cellules de la ligne en gardant le format de mon code !
Par exemple c'est d’additionner 05_00_00 avec 05_00_01 pour obtenir 10_00_01
Infos complémentaires : théoriquement dans mon travail chaque partie du code ne devrait pas dépasser 99 (théoriquement...) mais on va considérer que les choses doivent rester ouvertes et non bornées (donc de 1 à 999999....) !

que faut-il afficher dans le cas du cumul par niveau qui dépasse 99 ???
exemple :
Capture1.JPG <===> Capture2.JPG

pour en rester au "théoriquement" même dans le cas du cumul... :rolleyes:
ma proposition :
- Sans VBA
- avec formules simples
- format personnalisé : 00"_"00"_"00
- calculs standards : SOMME et tri décimal
 

Pièces jointes

  • Capture1.JPG
    Capture1.JPG
    30.3 KB · Affichages: 43
  • Capture1.JPG
    Capture1.JPG
    30.3 KB · Affichages: 46
  • Capture2.JPG
    Capture2.JPG
    34.3 KB · Affichages: 46
  • Capture2.JPG
    Capture2.JPG
    34.3 KB · Affichages: 39
  • additionner-codes-type-xx_yy_zz.xlsx
    18.2 KB · Affichages: 38

CISCO

XLDnaute Barbatruc
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonjour à tous

Bien vu, Modeste geedee, le changement de format directement dans les colonnes B, C, D, E... Dans mes essais, je ne l'avais fait que dans la colonne cumul, ce qui était beaucoup moins intéressant puisque cela ne permettait pas l'utilisation de la formule SOMME(B3:E3).

@ plus
 

pap

XLDnaute Nouveau
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonsour

que faut-il afficher dans le cas du cumul par niveau qui dépasse 99 ???
exemple :
Regarde la pièce jointe 323049 <===> Regarde la pièce jointe 323050

pour en rester au "théoriquement" même dans le cas du cumul... :rolleyes:
ma proposition :
- Sans VBA
- avec formules simples
- format personnalisé : 00"_"00"_"00
- calculs standards : SOMME et tri décimal


Bonjour,

Théoriquement, le cumul pour chaque partie du code ne doit pas dépasser 99 ce qui maintiendra le format du code sous la forme : XX_YY_ZZ.

Dans un cas exceptionnel où le cumul d'une des parties du code venait à dépasser 99, le format suivrait et on passerait à : XXX, YYY ou ZZZ !

On peut donc envisager ce genre de chose :

100_00_00
04_20_110
04_02_101
01_300_00
01_03_200

Merci
 

Modeste geedee

XLDnaute Barbatruc
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Bonsour®
pourquoi dans ce cas ne pas toujours utiliser uniquement un codage :
XXX_YYY_ZZZ

et un format personnalisé
000"_"000"_"000
Capture.JPG

ma proposition pour les calculs et tris restent "standards" !!!
sans complication ni VBA ...:rolleyes:
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    97.5 KB · Affichages: 44
  • Capture.JPG
    Capture.JPG
    97.5 KB · Affichages: 45
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Additionner des codes de ce type : XX_YY_ZZ + XX_YY_ZZ

Re

Version de ma fonction personnalisée acceptant la somme supérieure à 99
 

Pièces jointes

  • ESSAIS.xlsm
    17.3 KB · Affichages: 40
  • ESSAIS.xlsm
    17.3 KB · Affichages: 39
  • ESSAIS.xlsm
    17.3 KB · Affichages: 38

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 293
Membres
103 171
dernier inscrit
clemm