bonjour le forum
j'ai un code vba qui ferme excel lorsque je l'éxécute.Par contre si je réduit la recherche à 4 numéros il fonctionne mais est trés long a son éxécution.
D'ou cela vient-il qu'il se ferme et y a t-il moyen de l'accélérer.voici le code.
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Sub Combinaison()
Dim I As Long, K As Long, M As Long, N As Long, O As Long
Dim NbMax As Long
Dim Tablo(1 To 70, 1 To 70, 1 To 70, 1 To 70, 1 To 70) As Long
Dim J As Long
Dim Resultat(1 To 1, 1 To 6)
Dim Tbl1
Dim Nombre As Long
 
  Application.ScreenUpdating = False
  Tbl1 = Range("BdD")
  NbMax = UBound(Tbl1, 2)
 
  For J = 1 To UBound(Tbl1)
    For I = 1 To NbMax - 4
      For K = I + 1 To NbMax - 3
        For M = K + 1 To NbMax - 2
          For N = M + 1 To NbMax - 1
            For O = N + 1 To NbMax
        Tablo(Tbl1(J, I), Tbl1(J, K), Tbl1(J, M), Tbl1(J, N), Tbl1(J, O)) = Tablo(Tbl1(J, I), Tbl1(J, K), Tbl1(J, M), Tbl1(J, N), Tbl1(J, O)) + 1
            Next O
          Next N
        Next M
      Next K
    Next I
  Next J
 
  For Nombre = 1 To 70
  Resultat(1, 6) = 0
    For I = 1 To 70
      For K = 1 To 70
        For M = 1 To 70
          For N = 1 To 70
            For O = 1 To 70
          If I = Nombre Or K = Nombre Or M = Nombre Or N = Nombre Or O = Nombre Then
            If Tablo(I, K, M, N, O) > Resultat(1, 6) Then
              Resultat(1, 1) = I
              Resultat(1, 2) = K
              Resultat(1, 3) = M
              Resultat(1, 4) = N
              Resultat(1, 5) = O
              Resultat(1, 6) = Tablo(I, K, M, N, O)
              End If
            End If
            Next O
          Next N
        Next M
      Next K
    Next I
    Cells(1 + Nombre, "X").Resize(1, 6) = Resultat
  Next Nombre
End Sub