Bonjour à tous,
Pour traiter un "gros" tableau de données diverses et varier j'ai besoin de rassembler des coupes de données (Nom,ratio) dans un tableau d'une dimension.
Pour ce faire, j'ai crée un type de variable,
Puis j'ai ensuite créer une fonction FormuleElec1 qui fonctionne et qui me renvoie ce tableau d'une dimension complété (sans doublon). Elle passe en revu une colonne et selon que celle-ci et vide ou non elle remplit les couples et gère qu'elle problème de doublon sur Nom_C en additionnant les valeurs des Ratio_C. Elle me permet de renvoyer dans la feuille "SynthèseCptEnergieS" une formule de calcul en STring.
Pour faire évoluer cette fonction j'ai besoin d'introduire des conditions cad de tester pour chaque cellule une condition supplémentaire dans une autre colonne (qui n'est pas dans le fichier Excel en Exemple). Il y a une 20 aines de conditions différentes à tester avec "case if". Je souhaite donc créer une sous fonction ListeConsoElec dans cette fonction FormuleElec2 afin de pouvoir ensuite mettre en place cette condition supplémentaire. Pour faire la comparaison j'ai ajouté une cellule dans la feuille "SynthèseCptEnergieS" également.
Problème, je n'arrive pas gérer la sous-fonction, il y a des conflits de Type (sur le type que j'ai créé) que je n'arrive pas à résoudre et que avant tout chose je ne comprends pas... En fait il ne reconnait pas "ListCompteurRatio" dans la fonction principale quand je l'appelle dans la sous-fonction. il est écrit "Type d'argument Byref incompatible". Je dois commettre une erreur de définition de variable. Cela fait une journée que je suis dessus, je ne la comprends pas...
Désolé pour le premier essai avec tout le code en sur la page. Un fichier "simplifié" de mon tableau est attaché à ce message. Tout aide est la bienvenue. Merci d'avance aux personnes qui prendront le temps de s'y pencher.
Pour traiter un "gros" tableau de données diverses et varier j'ai besoin de rassembler des coupes de données (Nom,ratio) dans un tableau d'une dimension.
Pour ce faire, j'ai crée un type de variable,
Code:
Private Type CompteurRatio
Nom_C As String
Ratio_C As Single
End Type
Private ListCompteurRatio() As CompteurRatio
Puis j'ai ensuite créer une fonction FormuleElec1 qui fonctionne et qui me renvoie ce tableau d'une dimension complété (sans doublon). Elle passe en revu une colonne et selon que celle-ci et vide ou non elle remplit les couples et gère qu'elle problème de doublon sur Nom_C en additionnant les valeurs des Ratio_C. Elle me permet de renvoyer dans la feuille "SynthèseCptEnergieS" une formule de calcul en STring.
Pour faire évoluer cette fonction j'ai besoin d'introduire des conditions cad de tester pour chaque cellule une condition supplémentaire dans une autre colonne (qui n'est pas dans le fichier Excel en Exemple). Il y a une 20 aines de conditions différentes à tester avec "case if". Je souhaite donc créer une sous fonction ListeConsoElec dans cette fonction FormuleElec2 afin de pouvoir ensuite mettre en place cette condition supplémentaire. Pour faire la comparaison j'ai ajouté une cellule dans la feuille "SynthèseCptEnergieS" également.
Problème, je n'arrive pas gérer la sous-fonction, il y a des conflits de Type (sur le type que j'ai créé) que je n'arrive pas à résoudre et que avant tout chose je ne comprends pas... En fait il ne reconnait pas "ListCompteurRatio" dans la fonction principale quand je l'appelle dans la sous-fonction. il est écrit "Type d'argument Byref incompatible". Je dois commettre une erreur de définition de variable. Cela fait une journée que je suis dessus, je ne la comprends pas...
Désolé pour le premier essai avec tout le code en sur la page. Un fichier "simplifié" de mon tableau est attaché à ce message. Tout aide est la bienvenue. Merci d'avance aux personnes qui prendront le temps de s'y pencher.
Pièces jointes
Dernière édition: