Une formule Excel

Bonjour encore merci pour toute l'aide que vous m'apporter

cette fois ci j'aurais besoin de cette formule pour classer des chiffres

nous avons de B3 a O3 des chiffres allant de 1 a 14 ces chiffres ne bouge pas en dessous de B4 a O4 nous avons des cotes .

nous avons en A14 la phrase suivante (TOCA DE 7 A 20) ces chiffres de 7 a 20 nous allons les mètres en C14 a I14 et nous allons chercher ces chiffres allant de 7 a 20 en B4 a O4

idem pour TOCB de 21 a 30 que nous mettrons de C15 a I15

Idem pour TOCX de 31 et plus que nous mettrons de C16 a I16

encore merci pour votre aide

22ilien.xlsx (13.58 Ko)

Bonsoir

Ici c'est plus un forum sur les applications mis en téléchargements... Pour les question mieux vaut aller sur le forum "excel VBA"

Peut être peut il être déplacé par les administrateurs... En plus vous auriez plus de chance d'avoir une réponse

@ bientôt

LouReeD

Bonjour le fil, bonjour le forum,

Malgré tes explications je n'ai pas compris comment tu obtenais les résultats en C14:F14, C15:D15, C16:F16 ?!...

je cherche les chiffres de 7 a 20 en B4 a O4

Re,

Pourquoi pas. Mais alors pourquoi le 10, le 3 et le 4 qui n'apparaissent nulle part de B4 a O4 ?

Pourquoi uniquement 7 cellules alors que de 7 à 20 il y a la place pour 13 ?

Désolé mais si tu ne fais pas un effort nous ne pourrons pas t'aider !...

Pourquoi uniquement 7 cellules

car au delà de 5 cellules TOCA trot élevée

Mais alors pourquoi le 10, le 3 et le 4 qui n'apparaissent nulle part de B4 a O4 ?

le 10 et en K4 le 3 et en D4 et le 4 et en E4

Re,

Arf ! Je crois que je commence à comprendre...

j'ai rajouter une info pour que ce sois plus simple en B5 a O5

ON PEUT VOIR QUE 10 -11-13 n'on pas 0 donc on prend

en priorité

13ilien01.xlsx (13.65 Ko)

ci joint une autre course

on ne vas utiliser que TOCA

on dois chercher les chiffres allant de 7 a 20 de B4 a O4

nous avons le 5 en F3 qui fait 8.6

le 4 qui fait 10 qui et en E3 et le 9

on vas en chercher que 3

10ilien.xlsx (15.50 Ko)

Bonjour,

Une proposition avec des lignes cachées.

Cordialement.

9ilien.xlsx (14.28 Ko)

Bonsoir encore besoin de vos lumière.

nous allons avoir besoin de 3 données

1er données

B3 a O3 Ces données ne change jamais

2éme données

B4 a O4 ce sont des cotes de chevaux ces données change tout le temps

3éme données

B5 a O5 Ces donnes comme les cotes change

nous avons en C14 la plus petite cote après le SHF qui et en B6 et en B13

la cote du SHF fait 4.5 donc en C14 nous allons chercher la cote suivante (second favoris)

et ce second favoris c'est le 9 qui fait 6.1 après nous avons le 6 qui fait 6.9 et le 10 qui fait 10

en C15 a E15 nous avons la cotes des ces 3 chevaux qui se trouve en B4 a O4

Et nous avons en C16 a E16 le DP qui se trouve en B5 a O5

si on a des cotes identique il prendra le plus petit DP

Exemple le 9 a 6.1 DP 2 et le 10 a 6.1 DP 3 Nous prendrons le 9 DP 2

9ilien01.xlsx (13.37 Ko)

Bonjour le fil, bonjour le forum,

Une proposition VBA :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim A() As Variant 'déclare la variable A (taleau TOCA)
Dim B() As Variant 'déclare la variable B (tableau TOCB)
Dim X() As Variant 'déclare la variable X (Tableau TOCX)
Dim IA As Integer 'déclare la variable IA (Incrément A)
Dim IB As Integer 'déclare la variable IB (Incrément B)
Dim IX As Integer 'déclare la variable IX (Incrément X)
Dim T1 As Variant 'déclare la variable T1 (variable Temporaire 1)
Dim T2 As Variant 'déclare la variable T2 (variable Temporaire 2)

Set O = Worksheets("Feuil1") 'définit l'onglet O
TV = O.Range("A2").CurrentRegion 'définit la tableau des valeurs TV
O.Range("C14:I16").ClearContents 'effaceles anciennes données
For J = 2 To 15 'boucle sur les colonne 2 à 15
    Select Case TV(3, J) 'agit en fonction de la donnée ligne 3 colonne J du tableau des valeurs TV
        Case Is < 20 'cas inférieur à 20
            If TV(3, J) > 6 Then 'condition : si TV(3,J) est supérieur à 6
                ReDim Preserve A(1 To 2, 0 To IA) 'redimensionne le tableau A (2 lignes, IA colonnes)
                A(1, IA) = TV(2, J) 'récupère le [Nº] dans la ligne 1 de A
                A(2, IA) = TV(3, J) 'récupère la [COTES] dans la ligne 2 de A
                IA = IA + 1 'incrémente IA
            End If 'fin de la condition
        Case Is < 31    'cas inférieur à 31
            If TV(3, J) > 20 Then 'condition : si TV(3,J) est supérieur à 20
                ReDim Preserve B(1 To 2, 0 To IB) 'redimensionne le tableau B (2 lignes, IA colonnes)
                B(1, IB) = TV(2, J) 'récupère le [Nº] dans la ligne 1 de B
                B(2, IB) = TV(3, J) 'récupère la [COTES] dans la ligne 2 de B
                IB = IB + 1 'incrémente IB
            End If 'fin de la condition
        Case Is > 31 'cas supérieur à 31
            ReDim Preserve X(1 To 2, 0 To IX) 'redimensionne le tableau X (2 lignes, IA colonnes)
            X(1, IX) = TV(2, J) 'récupère le [Nº] dans la ligne 1 de X
            X(2, IX) = TV(3, J) 'récupère la [COTES] dans la ligne 2 de X
            IX = IX + 1 'incrémente IX
    End Select 'fin de l'action en fonction de la donnée ligne 3 colonne J du tableau des valeurs TV
Next J 'prochaine colonne de la boucle
If IA > 0 Then 'condition : si IA est positive
    For I = 0 To UBound(A, 2) 'boucle 1 : sur tous les éléments I du tableau A
        For J = 0 To UBound(A, 2) 'boucle 2 : sur tous les éléments J du tableau A
            If I <> J And A(2, I) < A(2, J) Then 'si I est différent de J et la cote de A(I) est inférieure à la cote de A(J)
                T1 = A(1, I): A(1, I) = A(1, J): A(1, J) = T1 'tri des données
                T2 = A(2, I): A(2, I) = A(2, J): A(2, J) = T2 'tri des données
            End If 'fin de la condition
        Next J 'prochain élément de la boucle 2
    Next I 'prochain élément de la boucle 1
    O.Range("C14").Resize(1, UBound(A, 2) + 1).Value = Application.Index(A, 1) 'renvoie dans C14 redimensionnée la ligne 1 de A
End If 'fin de la condition
If IB > 0 Then 'idem IA
    For I = 0 To UBound(B, 2)
        For J = 0 To UBound(B, 2)
            If I <> J And B(2, I) < B(2, J) Then
                T1 = B(1, I): B(1, I) = B(1, J): B(1, J) = T1
                T2 = B(2, I): B(2, I) = B(2, J): B(2, J) = T2
            End If
        Next J
    Next I
    O.Range("C15").Resize(1, UBound(B, 2) + 1).Value = Application.Index(B, 1)
End If
If IX > 0 Then 'idem IA
    For I = 0 To UBound(X, 2)
        For J = 0 To UBound(X, 2)
            If I <> J And X(2, I) < X(2, J) Then
                T1 = X(1, I): X(1, I) = X(1, J): X(1, J) = T1
                T2 = X(2, I): X(2, I) = X(2, J): X(2, J) = T2
            End If
        Next J
    Next I
    O.Range("C16").Resize(1, UBound(X, 2) + 1).Value = Application.Index(X, 1)
End If
End Sub

Bonjour

et merci mais je sais pas comment la mettre dans ma feuille excel

Re,

J'ai travaillé sur ton premier fichier donc le code ne fonctionnera pas forcément sur les suivants. En pièce jointe ton fichier modifié avec un bouton Calculer. Clique dessus pour effectuer les calculs.

16ilien-ep-v01.xlsm (28.44 Ko)

bonjour ThauThème

milles merci pour ton aide et t'il possible bosser sur ce fichier

nous allons avoir besoin de 3 données

1er données

B3 a O3 Ces données ne change jamais

2éme données

B4 a O4 ce sont des cotes de chevaux ces données change tout le temps

3éme données

B5 a O5 Ces donnes comme les cotes change

nous avons en C14 la plus petite cote après le SHF qui et en B6 et en B13

la cote du SHF fait 4.5 donc en C14 nous allons chercher la cote suivante (second favoris)

et ce second favoris c'est le 9 qui fait 6.1 après nous avons le 6 qui fait 6.9 et le 10 qui fait 10

en C15 a E15 nous avons la cotes des ces 3 chevaux qui se trouve en B4 a O4

Et nous avons en C16 a E16 le DP qui se trouve en B5 a O5

si on a des cotes identique il prendra le plus petit DP

Exemple le 9 a 6.1 DP 2 et le 10 a 6.1 DP 3 Nous prendrons le 9 DP 2

4ilien01-1.xlsx (13.37 Ko)

ou et t'il possible de créer un bouter pour tout effacer

car a chaque course je dois fermer le fichier merci

9ilien-ep-v01.xlsm (28.48 Ko)

Re

ou et t'il possible de créer un bouter pour tout effacer

Un bouter pour tout effaçons ou un bouton pour tout effacer ?

Oui c'est possible mais que veux-tu exactement effacer ? Quelle(s) plage(s) ?

merci

la plage B4 a O4

Re,

J'ai aussi vidé la plage des calculs...

22ilien-ep-v02.xlsm (28.75 Ko)

whouahhh milles merci trot fort

Rechercher des sujets similaires à "formule"