Combinaisons et probabilités

Bonsoir tout le monde,

Je me permets de solliciter votre aide car je débute totalement sur excel et je ne parviens pas à faire un tableau de probabilités.

A vrai dire, je ne sais même pas si c'est possible!

En fait j'aimerais qu'excel m'affiche toutes les combinaisons probables.

Je pense qu'avec un petit exemple ca sera beaucoup plus clair :

1] Soit A gagne / Soit B gagne

2] Soit C gagne / Soit D gagne

Dans ce cas, les possibilités sont donc :

  • soit A et C gagnent
  • soit A et D gagnent
  • soit B et C gagnent
  • soit B et D gagnent

(ce qui correspond à la formule 2^2)

Ma question est donc : est-il possible qu'Excel me donne toutes les possibilités?

Et bien sur, il y aurait plus que 2 lignes..

A 10 lignes ça donne tout de suite 100 possibilités alors c'est un peu compliqué de le faire à la main...

Si par hasard quelqu'un pouvait m'aider, je lui en serais très reconnaissant!

Bonne soirée! (ou nuit!)

Bonsoir,

je te propose une macro, qui génère les différentes combinaisons pour 10 matches

Option Base 1
Public t(), valeur, position, nombre, basev, Max

Sub test()
' valeur contient la liste des N chiffres possibles
valeur = "12"
' position contient le nombre "d'itérations"
position = 10

' nombre = numéro de la combinaison en cours
nombre = 1
' basev nombre de valeurs possibles
basev = Len(valeur)
' max = nombre de combinaisons possibles
Max = basev ^ position
' on adapte les dimensions du tableau
ReDim t(Max, position)
' on lance la procédure récursive
combine (1)
' on copie le tableau résultant dans les cellules excel en A1
For i = 1 To Max
 For j = 1 To position
  t(i, j) = Chr(64 + (j - 1) * 2 + t(i, j))
 Next j
Next i
Range(Cells(1, 1), Cells(Max, position)) = t
End Sub

Sub combine(niveau)
' pour chaque position, on lance une boucle pour attribuer toutes les valeurs possibles
For i = 1 To Len(valeur)
  t(nombre, niveau) = Mid(valeur, i, 1)
 ' y a-t-il encore une position à générer
 If niveau < position Then
  ' on passe à la position suivante
  combine (niveau + 1)
  ElseIf niveau = position Then
  ' toutes les positions pour la combinaison en cours sont remplies, on passe à la combinaison suivante
  nombre = nombre + 1
   If nombre <= Max Then
   For j = 1 To niveau
    t(nombre, j) = t(nombre - 1, j)
   Next j
   End If
  End If
Next i
End Sub

Bonjour,

Merci beaucoup de ta réponse!

C'est très gentil d'avoir pris le temps d'essayer de m'aider.

Cependant, je débute réellement sur excel et je ne sais pas du tout comment faire une macro.

J'ai suivi un tuto trouvé sur le net mais ça ne fonctionne pas :

Je vais dans Développeur, Enregistrer une macro, je lui donne un nom et je valide (après avoir autorisé l’exécution des macros dans l'onglet sécurité). Ensuite je clique sur l’icône Macros, modifier et je copie/colle toute ta formule.

Et après je quitte et je ne sais pas quoi faire...

Bonsoir

pour insérer la macro.

copier le code trouvé sur le forum, (tout sélectionner puis ctrl-C)

aller dans excel

faire alt F11, pour actvier l'éditeur VBA

choisir dans le menu, insérer, module

coller le code avec ctrl-V

faire alt-F11 pour retourner dans les feuilles excel

faire alt-f8, choisir la macro (son nom est test)

puis exécuter

voir le résultat dans la feuille

Merci, ça fonctionne!

Mais j'ai du mal à comprendre lé résultat...

Je pensais que pour 10 "matches", avec 2 solutions, le résultat serait de 10^2=100 solutions.

J'ai de grosses lacunes en probabilité???!:o

non pas 10^2 mais 2^10 !!

Ha bah oui effectivement ça change tout... ça rajoute tout de suite quelques lignes! :p

Y a-t'il un moyen simple pour modifier ta macro et mettre 8 "matches" au lieu de 10 par exemple?

Je remplace la première valeur position par "position = 8" ?

effectivement, il faut changer le 10 en 8. ce qui fera 2^8 possibilités soit 256.

Ok merci beaucoup pour ton aide!

Problème résolu!

Rechercher des sujets similaires à "combinaisons probabilites"