Formule combinaison ordre différent

  • Initiateur de la discussion Initiateur de la discussion csur
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

csur

XLDnaute Nouveau
Bonjour

Recherche une formule pour trouver la même combinaison avec ordre différent

Pour un ordre identique, j'ai ceci (trouvé sur le forum)
=SI(P3>0;"Gagnant le "&INDEX(Arrivee!A:A;EQUIV(Pronos!O3;Arrivee!M:M;0));"non sortie")
et ça fonctionne à merveille 😎 merci au contribueur 🙂

Pour un ordre différent ? 😕

Au besoin je up un XLS pour mieux comprendre ma recherche
Merci par avance !
 
Re : Formule combinaison ordre différent

Bonsoir job75

le xls RapidShare: 1-CLICK Web hosting - Easy Filehostingl

si arrivée EX:
1 2 3 4 5 formule fonctionne
si arrivée EX:
2 4 3 5 1 ne fonctionne pas 🙁

Formule Pronos ==> M3 + O3 + Q3

=SI(Q3>0;"sortie le "&INDEX(Arrivée!A:A;EQUIV(Pronos!O3;Arrivée!I:I;0));"non sortie")
="-"&C3&"-"&E3&"-"&G3&"-"&I3&"-"&K3&"-"
=NB.SI(Arrivée!I:I;Pronos!O3)
 
Re : Formule combinaison ordre différent

Bonjour csur,

Une solution par macro placée dans le code de la feuille "Pronos" (clic droit sur l'onglet et visualiser le code) :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lig As Long, i As Byte, j As Byte, k As Byte, l As Byte, m As Byte, txt$, trouvelig As Variant
lig = Target.Row
If Cells(lig, 3) = "" Or lig < 3 Then Exit Sub
Cancel = True
Range(Cells(lig, 19), Cells(lig, 256)).ClearContents
For i = 3 To 11 Step 2
  For j = 3 To 11 Step 2
    If j <> i Then
      For k = 3 To 11 Step 2
        If k <> i And k <> j Then
          For l = 3 To 11 Step 2
            If l <> i And l <> j And l <> k Then
              For m = 3 To 11 Step 2
                If m <> i And m <> j And m <> k And m <> l Then
                  txt = "-" & Cells(lig, i) & "-" & Cells(lig, j) & "-" & Cells(lig, k) & "-" & Cells(lig, l) & "-" & Cells(lig, m) & "-"
                  If txt <> Cells(lig, 15) Then
                    trouvelig = Application.Match(txt, Sheets("Arrivée").Columns(9), 0)
                    If IsNumeric(trouvelig) Then
                      Cells(lig, 256).End(xlToLeft).Offset(, 2) = "sortie le " & Sheets("Arrivée").Cells(trouvelig, 1).Text
                    End If
                  End If
                End If
              Next m
            End If
          Next l
        End If
      Next k
    End If
  Next j
Next i
End Sub

La macro se lance par un double-clic sur une ligne de "Pronos". Seule cette ligne est traitée.

On trouve les ordres différents pour les lignes 3 et 11.

Fichier joint.

A+
 

Pièces jointes

Re : Formule combinaison ordre différent

Merci ROGER2327 😉

En utilisant ton xls
j'ai ceci comme message d'erreur

Erreur d'éxécution 5
Argument ou appel de procédure incorrect

Rapports du débogueur
s = Left$(s, Len(s) - 1)

c'est peut-être ma version d'Excel (97) qui est en cause ?
 
Re : Formule combinaison ordre différent

Re...
Je n'ai pas ce problème. Mais il peut survenir si une date qui figure dans la feuille Pronostic ne figure pas dans la feuille Arrivée. Dans ce cas s est une chaîne de longueur nulle et Len(s)-1 vaut -1, ce qui provoque une erreur au moment de l'exécution de Left$.
Vous pouvez l'éviter en écrivant
Code:
[COLOR="DarkSlateGray"]      s = Left$(s, Application.Max(0, Len(s) - 1))[/COLOR]
.
Toutefois, je ne comprends pas pourquoi une date ne figurant pas dans la feuille Arrivée peut se trouver dans la feuille Pronostic après l'exécution de la procédure Cherche.​
ROGER2327
 
Re : Formule combinaison ordre différent

Bonjour, a tous

Excuser moi pour ma réponse tardive //week-end 😀 //
Effectivement en incluant ton code ça fonctionne parfaitement. //EXCEL 97 & 2007//
Toutefois, je ne comprends pas pourquoi une date ne figurant pas dans la feuille arrivée peut se trouver dans la feuille Pronostic après l'exécution de la procédure Cherche.

Peut-être un bug Excel 97 ? sans la modification avec Excel 2007 aucun message d’erreur 😕
 
Re : Formule combinaison ordre différent

Bonsoir,
Pardonnez- moi de vous solliciter pour un problème déjà résolu, mais voilà je voudrais faire quelque modification (je potasse encore vsba)

job75

Problème n°1

Je voudrais supprimer les colonnes D, F, H, J pour une saisie plus rapide (le code est obsolète en supprimant les colonnes)

Problème nº 2

Serait-il possible d’inclure les mêmes fonctions dans des feuilles différentes pour rechercher les trois 1ers & quatre 1 ers ?
EX. : trois 1ers pronos 1.2.3.4.5….. Arrivée 1.2.3.6.7 résultat => ordre ou désordre 1.2.3 & 2.3.1, etc. (recherche que sur les trois 1ers d’Arrivée)…….Idem pour les quatre 1ers ?

ROGER2327

Dans arrivée je voudrais mettre les arrivées de 1999 à X dates
Et ça ne fonctionne pas pourrait tu apporter une modification a ton code ?
Merci d’avance de vous pencher sur le problème en temps libre.

Cordialement Csur
 
Re : Formule combinaison ordre différent

Re...
(...)
ROGER2327

Dans arrivée je voudrais mettre les arrivées de 1999 à X dates
Et ça ne fonctionne pas pourrait tu apporter une modification a ton code ?
Merci d’avance de vous pencher sur le problème en temps libre.
(...)
Je ne comprends pas la question. Je viens de faire l'essai avec les 3572 dates du 25/12/1999 au 4/10/2009 : aucun problème...​
ROGER2327
 
Re : Formule combinaison ordre différent

Bonsoir à tous

ROGER2327

Je m'aperçois qu'Excel 97, bogue avec la 2007, ton classeur remplie pleinement ces fonctions
(ton classeur m'a ouvert les portent a plein d'idées 😀)

Job75

J'ai hâte de voir la suite 🙂

Encore une fois merci à vous

Cordialement Csur
 
Re : Formule combinaison ordre différent

Re...
Mes contributions sont toutes écrites (et testées) pour Excel2003. Je n'ai pas la version 2007, et je n'ai plus la version 97. Il se peut donc que des petits problèmes surviennent avec ces versions.
Pour l'information de tous, il serait bon que les parties de code qui "coincent" soit précisément identifiées : pourriez-vous signaler exactement les lignes que n'acceptent pas les versions autres que la version 2003 ?
Merci d'avance.
ROGER2327
 
Re : Formule combinaison ordre différent

Bonsoir csur, Roger, le forum,

Voici 2 solutions au problème n° 2.

1) La 1ère solution, comme dans Pronos(1), recherche la 1ère occurence d'une combinaison (de 5 ou 4 ou 3 chiffres) dans la feuille "Arrivée".

S'il y a d'autres occurences d'une même combinaison, elles sont donc ignorées, ce qui à mon avis est un sérieux inconvénient.

A noter que vous aviez construit votre fichier en ce sens : une seule colonne "Sortie le" avec une formule INDEX/EQUIV.

2) Pour la 2ème solution, j'ai remodelé le fichier, et toutes les occurences sont recherchées. La cellule se colore en jaune quand il s'agit d'une combinaison dans l'ordre.

NOTA : j'ai fait en sorte qu'en colonne A de la feuille "Arrivée" ce soient bien des dates (nombres) au format jj-mmm-aa. Idem pour les résultats dans les autres feuilles.

Bonne nuit.

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

B
Réponses
15
Affichages
3 K
Bene25
B
C
Réponses
7
Affichages
2 K
C
J
Réponses
1
Affichages
1 K
N
  • Question Question
Réponses
5
Affichages
3 K
S
Réponses
5
Affichages
5 K
S
L
  • Question Question
Réponses
3
Affichages
1 K
T
  • Question Question
Réponses
0
Affichages
812
the_tonio81
T
S
Réponses
1
Affichages
1 K
Retour