Page Accueil FAQ MPFE Liens Format de nombres Téléchargement Applications Combinaisons


Index des Exemples

* * *
  SOMMAIRE
  La FAQ
  VBA NULS
  CONTRÔLES
  ASTUCES
Exemples
  Boucles
  Cellules
  Cellules 2
  Divers
  Erreurs
  Fichiers
  Feuilles
  Fonctions
  Impression
  Médias
  Messages
  Outils
  Spéciales
  Tests
  Le Web
  Userform
  XL et Word
  XL Clipboard
 
  Macro :o)
  Réactions
  Livre d'Or
  Wallpaper
Trucs
&
Astuces
  Sécurité
  Impression
  Données

 

titre


Calcul de Combinaisons

Calcul toutes les combinaisons possibles sur un maximum de 8 éléments

Taper dans les cellules A1 jusqu'à H1 une série de 8 éléments (Chiffre ou texte).
ATTENTION ! ne dépasser pas 8 éléments ce qui conduit déjà à 40320 permutations. Excel 97 ne dispose que de 65536 lignes.
et pour les versions antérieures que 7 ce qui conduit à 5040 lignes pour 16384 lignes disponibles...
Sélectionner la série que vous désirez et exécuter la macro : RunCombinaison.
Vous pouvez ne sélectionner que les cellules de A1 à C1 ou D1 à F1...etc...

Option Base 1
Dim Combine(10)

Sub RunCombinaison()
For Each Chif In Selection
i = i + 1
Combine(i) = Chif
Next
CalculCombine Combine, i, 0
End Sub

Sub CalculCombine(Combine As Variant, Result, Traitement)
Application.ScreenUpdating = False
Dim Combine2(10)
If Result < 1 Then
Selection.Offset(1, 0).Activate
Selection.Value = Combine
Else
For i = 1 To Result
z = Combine(i)
For j = 1 To Result + Traitement - 1
Combine2(j) = Combine(j + (j >= i) * -1)
Next j
Combine2(j) = z
CalculCombine Combine2, Result - 1, Traitement + 1
Next i
End If
End Sub

 

[top]

 

     
 ©Conception et Graphisme. Daniel Josserand . Novembre 2000