XL 2016 Affichage d'un arbre récursivité

  • Initiateur de la discussion Initiateur de la discussion xachaaa
  • 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 !

xachaaa

XLDnaute Nouveau
Bonjour ,
s'il vous plait , je suis débutante en programmation vba et je souhaite réaliser la tache dans le fichier excel ci-dessous.
Si quelqu'un parmi vous peut m'aider.
PS:J'ai 10 Fonctions avec 5 options et je souhaite avoir toutes les combinaison possibles.
Mon exemple est seulement pour 5 fonctions et quelques options insérées.
Les options sont dynamiques (entre 0 et 5)et 10 fonctions.
Merci beaucoup.
 

Pièces jointes

Solution
Voici la V8.
Mettre des X pour les lignes exclues compliquera beaucoup les éventuels calculs sur les proba.
Donc j'ai mis ces cellules vides et en gris, donc aucun problème de calculs éventuels.
J'en ai profité pour rajouter pas mal de commentaires, pour vous aider à vous approprier l'outil. 🙂
Bonsoir Xachaaa,
Trois petites remarques :
1- Votre problème est bien l'illustration de la récursivité.
2- C'est un sujet qui n'attire pas les foules, car toujours délicat à mettre au point.
3- Je suis un peu têtu.
En PJ un essai :
- Il supporte de 1 à 10 fonctions, et de 1 à 5 options.
- J'ai concaténé options et %, mais vous pourrez les séparer, c'est long, fastidieux et n'apporte aucune plus value.
- J'utilise deux macros récursives imbriquées.
- Tous les commentaires sont sur la page Data, et dans le code.
Je vous souhaite bon courage, il va vous falloir avaler ça pour le comprendre.
 

Pièces jointes

Bonjour Xachaaa,
Oui j'ai vu après coup. La double récursivité empile trop de fonctions et la pile finit par déborder.
J'ai trouvé une astuce pour résoudre le problème sans récursivité.
On peut le faire car on connait la dimension max du tableau d'entrée.
Je devrais pouvoir vous livrer ça aujourd'hui.
J'ai horreur de l'échec.🙂
 
Bonjour Xachaaa,
Le fichier précédent était limité en nombre de fonctions car les deux boucles de récursivité étaient entremêlées et explosée la pile.
comme dans votre exemple la matrice d'entrée est connue ( max 11*5 ) on peut passer par des algo plus simples.
En PJ un nouvel essai.
N'oubliez pas que le nombre de lignes générées est une factorielle du nombre d'options et que ça grimpe très vite.
J'ai mis une option qui supprime la mise en forme. car cette mise en forme est vraiment très chronophage. ( par ex 0.043s pour construire l'arbre, 2.3s pour une belle mise en forme )
 

Pièces jointes

Merci beaucoup . ça fonctionne à parfait ,
S'il vous plait est ce que je peux avoir un calcul de produit des pourcentages pour chaque ligne .
vous trouvez exemple de formule dans la feuille Tree ;
je veux l'appliquer sur tout le tableau . S'il vous plait
Merci beaucoup.
 
Bonjour Xachaaa,
La V6 en PJ. Les modifs :
1- La dernière colonne est le produit des pourcentages, et ce pour toutes les lignes.
2- J'ai mis sous chaque fonction la somme des % de la colonne avec alerte si < ou > 100%
3- Jai mis une alerte si on dépasse la limite de lignes sur Excel car 1 953 125 lignes si toutes les fonctions, toutes les options sont utilisées. Or XL est limité à 1 048 576 lignes.
A tester.
 

Pièces jointes

Savez vous qu'aujourd'hui sur un CV scientifique ou technique, mettre "Connaissance d'Office" n'est pas nécessaire car implicite.
Vous vous orientez vers une carrière technique ou scientifique et la maîtrise d'XL et du VBA vous sera indispensable chaque jour pour des calculs, des analyses, des exploitations de BD ...
alors ne pas faire l'effort aujourd'hui vous pénalisera grandement demain.

Ceci étant dit, envoyez, j’essaierais de vous le faire, mais franchement ce n'est pas vous rendre service, mais ça m'amuse. 🙂
 
Pour vous décrire la tache que je souhaite avoir, après construction de l'arbre je souhaite ajouter des conditions dans chaque ligne de mon arbre .
par exemple , dans une ligne d'arbre on ne peut pas avoir B1 et D1 en même temps.
je veux avoir la possibilité d'insérer ses conditions .
SI option 1 ALORS PAS options 2
en PJ vous trouvez l'exemple , mais j'ai pas supprimé D1 de la première ligne de l'arbre.
 

Pièces jointes

Vraiment désolé. Là je jette l'éponge.
Ça fait reprendre tout à zéro. D'autant que les conditions devraient être programmable.
Vous n'avez aucun esprit de synthèse. Il eût été plus simple dès le départ d'énoncer l'ensemble des hypothèses de départ. Mais là tout ré écrire je n'en ai aucune envie.
Il faudrait faire une matrice des exclusions, reconstruire l'arbre en conséquence .....
C'est déjà énormément de boulot. Je préfère stopper là.
Il va vous falloir mettre les mains dans le cambouis. Vous pouvez le faire facilement en formules. Voir PJ.
Sorry.
 

Pièces jointes

Je ne peux pas avec l'algo utilisé.
De plus avec des conditions qui devront être programmable, c'est l’ensemble qui est à refaire.
Utilisez donc les formules comme expliqué dans la V7.
Vous avez les résultats dans la colonne de droite.
 
- 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
14
Affichages
1 K
Réponses
19
Affichages
3 K
Réponses
1
Affichages
1 K
Réponses
24
Affichages
2 K
Réponses
7
Affichages
2 K
Retour