decomposition formule chimique

nicroq

XLDnaute Occasionnel
Bonjour a tous et merci d avance pour votre aide

Je souhaiterai par VBA (ou par formule excel mais je ne pense pas que se soit possible) obtenir le tableau en rouge du fichier joint. Il s'agit en fait de pouvoir decomposer les formules pour obtenir un bilan.
Les formules sont toujours ecrites de la même facon et nomenclatures (les 4 exemples de formules dans le fichier sont representatives de les cas possible : soit des virgules pour le H2O soit des parenthèses pour multiplier par le nombre de composés).

Merci d'avance

Cdlt
 

Pièces jointes

  • decomposition formule chimique.xls
    28 KB · Affichages: 62

Lolote83

XLDnaute Barbatruc
Salut à tous,
Bonjour NAIROLF, pas encore analysé ton fichier.
Juste pour ne pas avoir bossé pour rien, voici ou j'en suis.
Tout n'est pas encore finalisé à 100%, mais on s'en rapproche.
@+ Lolote83
 

Pièces jointes

  • Copie de NICROQ - Décomposition formule chimique.xlsm
    31.4 KB · Affichages: 35

nicroq

XLDnaute Occasionnel
Bonjour nairolf,
merci cela est super!!!! en effet l utilisation d'un tableau en VBA serait interessante, etant novice et apprenant sur VBA j'aurais aimé que vous me montriez si cela n'est pas trop contraignat pour vous?

votre code marche tres bien cependant des erreurs interviennent dans ces exemples :

exemple 1:
(NH4)2P(SO4)2 ...
ou
Zn(COOH)20P8


exemple 2 :
C10H14N2Na2O8, 2H2O
il faudrait considérer lorsqu'il y ",2H2O" par exemple H4 et O2 en plus.

merci et je pense que la macro sera ok avec ces modifications!
encore merci pour votre investissment c est super sympa et tres utilise pour moi!
 

nicroq

XLDnaute Occasionnel
merci lolote83
j'ai associé 3 functions (realiser par danreb sur le forum car je travailler sur le split des cellules aussi, gd merci a lui! ) a votre code et cela marche tres bien!!
Maintenant comme dernière étape est il possible de :
faire ce tableau par vba et d'obtenir uniquement la somme de chacun des composés comme dans le fichier joint en rouge.
encore merci!!!
 

Pièces jointes

  • Copie de NICROQ - Décomposition formule chimique.xlsm
    32 KB · Affichages: 46

Lolote83

XLDnaute Barbatruc
Re salut,
Je travaille actuellement sur le fait que le tableau noir se construise automatiquement en fonction des nouveaux atomes rencontrés lors des différentes formules (un peut dans l'esprit de Nairolf)
Le tableau rouge de fin sera une simple formalité une fois la première partie finalisée à 100%
@+ Lolote83
 

nicroq

XLDnaute Occasionnel
re lolote83

en effet cela serait interessant de faire un tableau qui se contruise un peu dans l esprit de Nairof!! j'attends votre modification avec impatience!!!
Le but final etant d'avoir ce tableau dans vba et de selectionner un ensemble de formules sur une range et de choisir la quantité d atome d'un composé que l on souhaite connaitre.
 

CISCO

XLDnaute Barbatruc
Rebonjour

Cf. en pièce jointe. On doit certainement pouvoir améliorer la présentation, mais pour le moment...
Il ne faut changer les valeurs que dans A1, A4, A7 et A10. Il faudra aussi automatiser la plage B15:B21.

@ plus
 

Pièces jointes

  • decomposition formule chimique-six.xlsx
    21.7 KB · Affichages: 19

CISCO

XLDnaute Barbatruc
Bonsoir

Une autre manière de présenter les résultats, qui permet de tirer plus facilement les formules vers le bas et vers la droite (une couleur par type de formule). Attention aux tableaux en dessous du tableau rouge et à la plage O1:O116 contenant la liste des éléments du tableau périodique. Attention aussi à certaines formules qui sont matricielles (C1:L4 et B26:L29), qu'il faut valider avec Ctrl+maj+entrer. Cf. aussi les définitions dans le gestionnaire de noms.

@ plus

PS : 4/7/2017 : Petite simplification des formules dans la plage C7:C18
 

Pièces jointes

  • decomposition formule chimique-neufbis.xlsx
    17.3 KB · Affichages: 18
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

Quelques simplifications plus tard...

Pour le moment, cette méthode ne donne pas les bons résultats si il y a des parenthèses et une ou des virgules dans la formule, ou plusieurs virgules, ou plusieurs parties entre parenthèses. De plus, la partie entre parenthèses doit être au début de la formule. Je peux essayer résoudre ce/ces problème(s), mais est-ce nécessaire ? Ces cas peuvent-ils se présenter ?

@ plus
 

Pièces jointes

  • decomposition formule chimique-onze.xlsx
    16.2 KB · Affichages: 22
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir

Simplification de la définition du nom conditionlistenum (1 test en moins) en utilisant $A1&"X" (X ou une autre lettre de l'alphabet latin forcément en majuscule) au lieu de $A1&"."
Code:
SI((64<CODE(STXT($A1&"X";Listenum;1)))*(CODE(STXT($A1&"X";Listenum;1))<91)+(STXT($A1&"X";Listenum;1)=",")+(STXT($A1&"X";Listenum;1)="(")+(STXT($A1&"X";Listenum;1)=")");Listenum)

@ plus
 

Pièces jointes

  • decomposition formule chimique-douze.xlsx
    21.3 KB · Affichages: 24
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Bonjour à tous,
Sur ce fichier j'ai réalisé une macro qui mets les symboles chimique du tableau noir.
Je me suis pas penché sur les chiffres....
C'est ma petite participation pour faire avancer le projet
Bruno
 

Pièces jointes

  • decomposition formule chimique (1).xlsm
    18.6 KB · Affichages: 20

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 342
Membres
103 192
dernier inscrit
Corpdacier