IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Trouver la meilleure valeur


Sujet :

Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 17
    Points
    17
    Par défaut Trouver la meilleure valeur
    Bonjour,

    J'ai 6 colonnes : A B C D E F
    Et 11 lignes qui contiennent une valeur par colonne. Chaque ligne à donc 6 valeurs.

    Je veux extraire la meilleur combinaison (somme des valeurs maximum) en retenant :
    2 valeurs dans la colonne A, 1 dans la B, 3 C, 2 D, 1 E et 2 F. Évidemment, une ligne ne contribue que pour 1 valeur.

    Merci de votre aide

  2. #2
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    ce n'est pas très clair pour moi...

    Je ne sais pas si je comprends la bonne chose mais à ce que je comprends, tu voudrais avoir l'adresse du maximum de chaque colonne?

    Si c'est le cas, un boucle pourrait faire l'affaire!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    Exemple :
    ______A B C D E F
    ligne 1 6 2 3 4 5 1
    ligne 2 6 2 3 4 5 1
    ligne 3 1 6 3 4 5 2
    ligne 4 1 2 6 4 5 3
    ligne 5 1 2 6 4 5 3
    ligne 6 1 2 6 4 5 3
    ligne 7 1 2 3 6 5 4
    ligne 8 1 2 3 6 5 4
    ligne 9 1 2 3 4 6 5
    ligne 10 1 2 3 4 5 6
    ligne 11 1 2 3 4 5 6

    La meilleur somme dans cet exemple sera 66 :
    Rappel, il faut : 2 A, 1 B, 3 C, 2 D, 1 E et 2 F
    ligne 1 A = 6
    ligne 2 A = 6
    ligne 3 B = 6
    ligne 4 C = 6
    ligne 5 C = 6
    ligne 6 C = 6
    ligne 7 D = 6
    ligne 8 D = 6
    ligne 9 E = 6
    ligne 10 F = 6
    ligne 11 F = 6

    Plus claire?
    merci

  4. #4
    Membre actif Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Points : 236
    Points
    236
    Par défaut Si j'ai bien compris essaye ça
    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
    Sub CALC()
    Dim i As Integer
     
    i = 1
     
    v = Range("A2") + Range("B1") + Range("C3") + Range("D2") + Range("F2")
     
    While Range("A" & i) <> ""
    s = Range("A" & i) + Range("B" & i) + Range("C" & i) + Range("D" & i) + Range("e" & i) + Range("F" & i)
    Range("g" & i) = s - v
     
    i = i + 1
     
    Wend
    Dim j, t As Integer
    j = 1
    t = 1
    valeur = Range("g" & j)
     
    While Range("g" & j) <> ""
     
     
    If valeur < Range("g" & j) Then
       valeur = Range("g" & j)
     
    End If
    j = j + 1
     
    Wend
    MsgBox ("la meilleur combinaison est : '" & valeur & "'")
    End Sub

  5. #5
    Membre actif Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Points : 236
    Points
    236
    Par défaut ok
    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
    Sub CALC()
    Dim i, j, C As Integer
     
    i = 1
    j = 1
    a = 1
    valeur = Cells(a, i)
     
    While Range("A" & j) <> ""
     
    If valeur < Cells(a, i) Then
    valeur = Cells(a, i)
    End If
    i = i + 1
     
     
    If Cells(a, i) = "" Then
    Cells(a, i) = valeur
     
    i = 1
    a = a + 1
    j = j + 1
    End If
     
    Wend
    C = 1
     
    While Range("A" & C) <> ""
     
    VALEUR2 = VALEUR2 + Range("g" & C).Value
    C = C + 1
    Wend
    MsgBox VALEUR2
     
    End Sub

  6. #6
    Membre actif Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Points : 236
    Points
    236
    Par défaut sinon tu peux faire ça
    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
    Sub CALC()
    Dim i, j, C As Integer
     
    i = 1
    j = 1
    a = 1
    valeur = Cells(a, i)
     
    While Range("A" & j) <> ""
     
    If valeur < Cells(a, i) Then
    valeur = Cells(a, i)
    End If
    i = i + 1
     
     
    If Cells(a, i) = "" Then
    'Cells(a, i) s = valeur
    s = s + valeur
    i = 1
    a = a + 1
    j = j + 1
    End If
    Wend
     
    Range("h1") = "meilleur combinaison "
    Range("h2") = s
     
    End Sub

  7. #7
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut Sans VBA
    Bonjour,

    En G1 écrire =MAX(A1:F1)
    En G2 écrire =MAX(A2:F2)
    .....

    Puis la somme des valeurs de la colonne G.

    A+
    RJ

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par rjamin Voir le message
    Bonjour,

    En G1 écrire =MAX(A1:F1)
    En G2 écrire =MAX(A2:F2)
    .....

    Puis la somme des valeurs de la colonne G.

    A+
    RJ
    Ce serait trop simple.

    Si je modifie les valeurs de mon exemple, par celle ci :
    ______:A B C D E F
    ligne 1 :6 2 3 6 5 1
    ligne 2 :5 2 3 4 5 1
    ligne 3 :1 6 3 3 5 2
    ligne 4 :1 2 6 4 5 3
    ligne 5 :1 2 6 6 5 3
    ligne 6 :4 2 6 4 5 3
    ligne 7 :1 2 3 6 5 4
    ligne 8 :1 5 3 6 5 4
    ligne 9 :1 3 3 4 6 5
    ligne 10:1 4 2 4 5 6
    ligne 11:1 2 3 4 5 6

    Quelle est la meilleur somme dans cet exemple ?
    Et pour chaque ligne quelle colonne a été retenue?
    A priori, plusieurs solutions sont possibles...

    Je ne pense pas que cela puisse se résoudre seulement en utilisant les fonctions d'Excel.

  9. #9
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut La meilleure somme ?
    Re

    C'est quoi la meilleur somme, la somme la plus grande, la plus petite ou ...?
    Je ne comprends pas bien.
    Dans le deuxième exemple la meilleure somme = ??
    RJ.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    C'est la meilleur combinaison, plus grande somme de valeurs.
    On ne peux retenir qu'une valeur par ligne
    ET
    On ne peux retenir une colonne qu'un nombre de fois déterminée.

    2 lignes avec la valeur contenue dans la colonne A,
    1 ligne avec la valeur contenue dans la colonne B,
    3 dans C, 2 dans D, 1 dans E et 2 dans F.

Discussions similaires

  1. [Débutant] Trouver la meilleure valeur tableau
    Par beta15 dans le forum C#
    Réponses: 6
    Dernier message: 19/12/2012, 23h06
  2. Réponses: 15
    Dernier message: 19/07/2007, 13h05
  3. Trouver les differentes valeur d'une table.
    Par zicos dans le forum MATLAB
    Réponses: 1
    Dernier message: 03/05/2007, 14h47
  4. Trouver le meilleur itinéraire entre N points
    Par denolfj dans le forum Prolog
    Réponses: 25
    Dernier message: 03/04/2006, 13h34
  5. Trouver la prochaine valeur d'incrementation
    Par subzero82 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/09/2005, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo