Calcul de combinaisons: Analyse de risque .
Résolu/Fermé
hadiboux
Messages postés
2
Date d'inscription
mardi 16 juin 2015
Statut
Membre
Dernière intervention
16 juin 2015
-
16 juin 2015 à 11:12
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 - 16 juin 2015 à 15:15
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 - 16 juin 2015 à 15:15
A voir également:
- Calcul de combinaisons: Analyse de risque .
- Calcul moyenne excel - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Calcul km marche à pied gratuit - Télécharger - Sport
- Logiciel calcul surface terrain gratuit - Télécharger - Outils professionnels
2 réponses
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
16 juin 2015 à 13:29
16 juin 2015 à 13:29
Bonjour
Une possibilité par macro :
En supposant les critères dans les colonnes A à G de la feuille1 avec une ligne de titres et les niveaux commençant en ligne 2
Toutes les combinaisons sont listées en feuille 2
Selon le nombre de combinaisons la macro peut mettre un certain temps à s'exécuter
ALT+F11 pour ouvrir l'editeur VBA puis Insertion - Module, copier-coller la macro dans le module et fermer l'éditeur
Pour lancer la macro depuis la feuille onglet Developpeur puis Macros
Cdmnt
Via
Une possibilité par macro :
En supposant les critères dans les colonnes A à G de la feuille1 avec une ligne de titres et les niveaux commençant en ligne 2
Toutes les combinaisons sont listées en feuille 2
Selon le nombre de combinaisons la macro peut mettre un certain temps à s'exécuter
ALT+F11 pour ouvrir l'editeur VBA puis Insertion - Module, copier-coller la macro dans le module et fermer l'éditeur
Pour lancer la macro depuis la feuille onglet Developpeur puis Macros
Sub combinaisons() na = Application.WorksheetFunction.CountA(Sheets(1).Range("A:A")) nb = Application.WorksheetFunction.CountA(Sheets(1).Range("B:B")) nc = Application.WorksheetFunction.CountA(Sheets(1).Range("C:C")) nd = Application.WorksheetFunction.CountA(Sheets(1).Range("D:D")) ne = Application.WorksheetFunction.CountA(Sheets(1).Range("E:E")) nf = Application.WorksheetFunction.CountA(Sheets(1).Range("F:F")) ng = Application.WorksheetFunction.CountA(Sheets(1).Range("G:g")) Application.DisplayAlerts = False For a = 2 To na For b = 2 To nb For c = 2 To nc For d = 2 To na For e = 2 To ne For f = 2 To nf For g = 2 To ng x = x + 1 Sheets(2).Cells(x, 1) = Sheets(1).Cells(a, 1) Sheets(2).Cells(x, 2) = Sheets(1).Cells(b, 2) Sheets(2).Cells(x, 3) = Sheets(1).Cells(c, 3) Sheets(2).Cells(x, 4) = Sheets(1).Cells(d, 4) Sheets(2).Cells(x, 5) = Sheets(1).Cells(e, 5) Sheets(2).Cells(x, 6) = Sheets(1).Cells(f, 6) Sheets(2).Cells(x, 7) = Sheets(1).Cells(g, 7) Next g Next f Next e Next d Next c Next b Next a Application.DisplayAlerts = True End Sub
Cdmnt
Via
hadiboux
Messages postés
2
Date d'inscription
mardi 16 juin 2015
Statut
Membre
Dernière intervention
16 juin 2015
16 juin 2015 à 14:02
16 juin 2015 à 14:02
Bonjour , et un grand merci via55 !
Problème Résolu !
Problème Résolu !
16 juin 2015 à 14:17
attention à la boucle sur d. Il y a un copier/coller qui a du déraper.
cdlt
16 juin 2015 à 15:03
Pour accélérer la procédure de via55, on peut utiliser les tableaux.
Dans l'exemple que j'ai utilisé (7,5,5,3,5,3,7) et sur mon matériel, on passe de 50s à 6s.
cordialement
16 juin 2015 à 15:15
Bien vu !