Combinaisons...

Shpountz

XLDnaute Occasionnel
Bonjour
Je souhaite savoir si il est possible de calculer le % de combinaisons d'une suite de cellule en couleur, si possible en VBA
J'ai joint un petit fichier qui est je l'espère plus explicite...

Merci d'avance à tous
Amicalement
Francois
 

Pièces jointes

  • Combinaisons.xlsx
    1.8 MB · Affichages: 79

ROGER2327

XLDnaute Barbatruc
Bonsoir Shpountz.

J'ai débarrassé votre classeur de quelques dizaines de milliers d'images invisibles et, me semble-t-il, inutiles à la résolution de votre problème.
Voyez une tentative de réponse dans le classeur joint. Mais je suis loin d'être certain d'avoir deviné ce que vous voulez...​

Bonne nuit.

ℝOGER2327
#8364


Mercredi 18 Haha 144 (Nativité de Sa Magnificence le Baron Mollet (*Saint Pipe) - fête Suprême Quarte)
2 Brumaire An CCXXV, 0,1079h - céleri
2016-W42-7T00:15:32Z
 

Pièces jointes

  • Copie de Combinaisons2.xlsm
    40.9 KB · Affichages: 66

ROGER2327

XLDnaute Barbatruc
(...)
Oui je sais pour ces images invisibles.... Comment faire pour s'en débarrasser ?
(...)
C'est très-simple. Mettez ce code dans un module de code quelconque :​
VB:
Sub bbb()
Dim Forme As Shape
  For Each Forme In ActiveSheet.Shapes: Forme.Delete: Next x
End Sub

Activez la feuille à nettoyer et exécutez la procédure. (Ça prend une bonne minute chez moi : il y a tout de même plus de 31 000 images à supprimer.)
Attention : en exécutant la procédure, vous supprimez toutes les formes de la feuille.
Bonne journée.

ℝOGER2327
#8365


Mercredi 18 Haha 144 (Nativité de Sa Magnificence le Baron Mollet (*Saint Pipe) - fête Suprême Quarte)
2 Brumaire An CCXXV, 4,4514h - céleri
2016-W42-7T10:41:00Z
 

Shpountz

XLDnaute Occasionnel
Bonjour Roger
Merci pour la réponse sur les images.
Comme je ne voulais pas passer par une remise en forme qui aurais été impossible j'ai fait :
F5/Objet/Clic Droit/Couper

Concernant ma première demande cela à l'air de fonctionner, mais comment je fais pour savoir quelle combinaison sort le plus ?
Serait il possible d'avoir sur la feuille "stat" le résultat ?
J'essaie de m'expliquer... Dans l'exemple fourni la ligne 1 et 9 donne un résultat de 100 %, mais comment savoir que c'est la ligne 1 et 9 qui donnent se résultat ?

Deuxièmement : comme j'ai plusieurs dizaines de feuilles à calculer est il possible d'avoir ce résultat sans passer par une feuille "Stat" ?

Merci d'avance
François
 

Paf

XLDnaute Barbatruc
Bonjour Shpountz, ROGER2327, Staple1600,

Si l'ordre des couleurs n'a pas d'importance, un essai :

VB:
Sub ComCoul()
Dim TabT(), Dico, i As Integer, j As Integer, x As Integer, k As Integer
Dim clé, y As Integer, Lig As Integer, Col As Integer, TabCoul
Set Dico = CreateObject("Scripting.Dictionary")
With Worksheets("Données")
.Range("A1").CurrentRegion.Select
Lig = .Range("A1").CurrentRegion.Rows.Count
Col = .Range("A1").CurrentRegion.Columns.Count
For i = 1 To Lig
  For j = 1 To Col
  If .Cells(i, j).Interior.ColorIndex <> xlNone Then
  x = x + 1
  ReDim Preserve TabT(1 To x)
  TabT(x) = .Cells(i, j).Interior.ColorIndex
  End If
  Next
  tri TabT
  For k = LBound(TabT) To UBound(TabT)
  clé = clé & TabT(k) & "|"
  Next
  Dico(clé) = Dico(clé) + 1
  Erase TabT
  x = 0
  clé = ""
Next
y = Lig + 2
For Each clé In Dico.Keys
  TabCoul = Split(clé, "|")
  y = y + 1
  For i = 1 To k - 1
  .Cells(y, i).Interior.ColorIndex = TabCoul(i - 1)
  Next
  .Cells(y, k) = Dico(clé) / Lig
Next
End With
End Sub


VB:
Sub tri(Tablo)
Dim Ok As Boolean, i As Byte, temp
While Ok = False
  Ok = True
  For i = LBound(Tablo) To UBound(Tablo) - 1
  If Tablo(i) > Tablo(i + 1) Then
  Ok = False
  temp = Tablo(i)
  Tablo(i) = Tablo(i + 1)
  Tablo(i + 1) = temp
  End If
  Next
Wend
'tri = Tablo
End Sub

A+
 

ROGER2327

XLDnaute Barbatruc
Bonjour Shpountz.

Bonjour Roger
Merci pour la réponse sur les images.
Comme je ne voulais pas passer par une remise en forme qui aurais été impossible j'ai fait :
F5/Objet/Clic Droit/Couper
(...)
Méfiez-vous de la proposition de Staple1600 : comme il le dit, elle n'est valable que pour peu d'objets, malheureusement sans en préciser le nombre. Dans le cas de votre classeur, c'est parfaitement inapproprié¹ : j'ai fait ce qu'il propose ; au bout de dix heures, Excel moulinait encore... J'ai dû interrompre brutalement.​
(...)
Concernant ma première demande cela à l'air de fonctionner, mais comment je fais pour savoir quelle combinaison sort le plus ?
(...)
Pour cela, il faut modifier un peu le code.​
(...)
Serait il possible d'avoir sur la feuille "stat" le résultat ?
J'essaie de m'expliquer... Dans l'exemple fourni la ligne 1 et 9 donne un résultat de 100 %, mais comment savoir que c'est la ligne 1 et 9 qui donnent se résultat ?
(...)
Voyez le classeur joint : il donne la liste des lignes correspondant à chaque combinaison trouvée.
Quant au fait que «la ligne 1 et 9 donne un résultat de 100 %», ce n'est pas ce que je constate. Avec votre jeu de données, vous devriez obtenir ceci :
stat-png.974910
(...)
Deuxièmement : comme j'ai plusieurs dizaines de feuilles à calculer est il possible d'avoir ce résultat sans passer par une feuille "Stat" ?
(..)
Ça, ce n'était pas dit dans votre demande initiale et ça change beaucoup de choses. On peut parfaitement mettre les résultats ailleurs que dans l'onglet Stat. Mais si vous voulez que je réponde précisément, il est temps que, de votre côté, vous expliquiez un peu mieux ce que vous voulez et que vous donniez la structure de votre classeur réel.
Combien avez-vous de lignes et de colonnes par feuille ?
Toutes les feuilles ont-elles la même structures ?
Quel est le nombre maximum de couleurs utilisées ?
Les résultats doivent-il être calculés feuille par feuille ou sur l'ensemble des feuilles ?
Où voulez-vous recueillir les résultats ?
Etc.
Bonne journée.

ℝOGER2327
#8366


Jeudi 19 Haha 144 (*Saint Raphaël, apéritif et philistin - fête Suprême Quarte)
3 Brumaire An CCXXV, 4,1868h - poire
2016-W43-1T10:02:54Z



¹ ... mais ça fait monter le compteur, c'est l'essentiel...
 

Pièces jointes

  • Copie de Combinaisons 3a.xlsm
    28.7 KB · Affichages: 71
  • STAT.PNG
    STAT.PNG
    16.9 KB · Affichages: 179

Shpountz

XLDnaute Occasionnel
Bonjour Roger,
Bonjour tout le monde,

J'ai réglé mes problèmes d'images invisibles et gagner pas mal de KOctets...

Concernant mon souhait, la méthode de Roger fonctionne, mais je n'ai pas été assez explicatif c'est en fait assez difficile d'écrire ce que l'on pense...)

Je suis plusieurs pronostiqueurs au turf et je me posais la questions si il y avait une possibilité qu'une combinaison ressorte plus souvent. par rapport à d'autres...

Donc le rouge est le 1er, le vert le 2eme, le jaune le 3eme, le bleu le 4eme et le mauve le 5eme
Comme je suis de nombreux pronostics je souhaiterais pouvoir avoir le résultat sur la même page afin de ne pas en créer une nouvelle feuille pour chaque pronostics....
Mais peut être y aurait il une solution de regrouper les résultats sur une seule nouvelle feuille ? (Chacune de mes feuilles prono ont un nom différent)

Dans le classeur de Roger tout fonctionne sauf que si par hasard il n'ya qu'une seule couleur il y a un résultat aussi. Cela est pas mal si, dans ce cas, les seules couleurs à prendre en compte sont le rouge, le vert, le jaune, le bleu

Alors pour compliquer la chose se serait génial si il pouvait y avoir un résultat dans les cas suivant :

- le rouge est le 1er, le vert le 2eme, le jaune le 3eme, le bleu le 4eme et le mauve le 5eme
- le rouge, le vert, le jaune , le bleu
- le rouge, le vert, le jaune

- le rouge, le vert, le jaune , le bleu
- le rouge, le vert, le jaune

- le rouge, le vert,
- le rouge, le jaune
- le vert, le jaune
- le rouge
- le vert
- le bleu

oui je sais cela commence à faire beaucoup ! En fait pour les couleurs seules j'ai déjà une solution donc ce n'est pas le plus important.
Ce qui me manque ce sont les combinaisons de deux a cinq couleurs...

En tout cas merci à Roger et vous tous de vous pencher sur ma demande
Amicalement
François
 

Discussions similaires