Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

decomposition formule chimique

  • Initiateur de la discussion Initiateur de la discussion nicroq
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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!
 
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

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
 
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.
 
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

Dernière édition:
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

Dernière édition:
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

Dernière édition:
Bonjour à tous

Nicroq, où en es-tu avec ce projet ? J'aimerai bien savoir si ma proposition te convient ou s'il faut que j'affine la formule pour lever les restrictions signalées sur le post #25.

@ plus
 
Bonjour, Youki.

Bonjour,
Pour le plaisir j'ai voulu aller au bout.
Cela fonctionne bien.
A tester dans toutes les conditions
A plus à tous
Une réminiscence de mes cours de chimie en '68 (Ouh déjà ! )
Ne pas confondre indice et coefficient. Exemple :
Cu(NO3)2 équivaut à 1 Cu, 2 N, 6 O

🙂
 

Pièces jointes

  • upload_2017-7-8_20-6-7.png
    26.6 KB · Affichages: 32
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
473
  • Question Question
Microsoft 365 Règle de 3
Réponses
11
Affichages
900
Réponses
1
Affichages
687
Réponses
8
Affichages
942
Réponses
7
Affichages
950
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…