Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/12/2011, 21h50   #1
Invité de passage
 
Homme
Analyste financier
Inscription : septembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyste financier
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 12
Points : 0
Points : 0
Par défaut Aidez moi a comprendre une formule

Bonjour,

pouvez vous m aider a comprendre la logique de cette formule. Je ne comprends pas les parties a l interieur:

- petite valeur
-ligne
-min(ligne)



Code :
=INDEX($K$6:$K$11;PETITE.VALEUR(SI(($F$6:$F$11=$D$9)*1=1;LIGNE($K$6:$K$11)-MIN(LIGNE($K$6:$K$11))+1);LIGNES($K$6:K6)))
Merci a tous
Tarek78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 23h29   #2
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
Slt,

elle fonctionne correctement ta formule au moins ?

Code :
=PETITE.VALEUR(matrice;n)
Renvoie la n-ième plus petite valeur d'une matrice.

LIGNE, renvoie le numéro de la ligne d'une référence.

d'où
"LIGNE($K$6:$K$11) = 6" et "MIN(LIGNE($K$6:$K$11)) = 6"
"MIN(matrice)" c'est le minimum...
donc peut-être que je me trompe mais pour moi "MIN(LIGNE(...))" est inutile.

Code :
=LIGNE(INDEX(K6:K11;MIN($K$6:$K$11)))
Me paraît déjà plus utile... tu récupère le numéro de ligne de la plus petite valeur.

Sans contexte c'est difficile de t'en dire plus mais j'espère cela pourra t'aider ou faire avancer la conversation

Cordialement
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 10h25   #3
Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2011
Messages : 37
Points : 45
Points : 45
Bonjour,

Il me semble que cette discussion fait suite à celle-ci.

La formule donnée par jfontaine et reprise par Tarek78 fonctionne correctement.
En ce qui me concerne j'aurais donné la formule matricielle:
Code :
=INDEX($K$6:$K$11;PETITE.VALEUR(SI($F$6:$F$11=$D$9;LIGNE(INDIRECT("1:"&LIGNES($F$6:$F$11))));LIGNES($1:1)))
qui après validation est à dérouler.

Cordialement.
grard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2011, 12h49   #4
Invité de passage
 
Homme
Analyste financier
Inscription : septembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyste financier
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 12
Points : 0
Points : 0
Merci vous etes vraiment des Pros d'Excel c'est hallucinant!!!!

Mon Excel est anglais (je vis a Londres). Jfontaine m'a donne cette formule transcrite en anglais mais qui, quand je la rentre, me donne ce message "#Value".

Je vous joint le fichier. La formule est a rentre en C24

Voici la formule en anglais:

Code :
=INDEX($K$6:$K$11,SMALL(IF(($F$6:$F$11=$D$9)*1=1,ROW($K$6:$K$11)-MIN(ROW($K$6:$K$11))+1),ROWS($K$6:K6)))
Merci a tous pour votre aide... j'apprecie
Fichiers attachés
Type de fichier : xls david# v2.xls (61,5 Ko, 3 affichages)
Tarek78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2011, 13h49   #5
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
J'ai une proposition... après c'est plus simple pour moi de faire ça en VBA.

Voir fichier ci joint.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Worksheet_Activate()
 
    Sheets("Tracko").Cells(24, 3).Clear
 
    i = Range("F65536").End(xlUp).Row
 
    For j = 6 To i
        If Sheets("Tracko").Cells(9, 4).Value = Sheets("Tracko").Cells(j, 6).Value Then
            Sheets("Tracko").Cells(24, 3).Value = Sheets("Tracko").Cells(j, 11) & ", " & Sheets("Tracko").Cells(24, 3).Value
        End If
    Next
 
    Sheets("Tracko").Cells(24, 3).Value = Left(Sheets("Tracko").Cells(24, 3).Value, Len(Sheets("Tracko").Cells(24, 3).Value) - 2)
 
End Sub
Bonne continuation !

Cordialement
Fichiers attachés
Type de fichier : zip david# v3.zip (20,7 Ko, 4 affichages)
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2011, 14h25   #6
Invité de passage
 
Homme
Analyste financier
Inscription : septembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyste financier
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 12
Points : 0
Points : 0
Merci pour ta reponse mais moi je voudrais qu'une ligne corresponde a un artiste.

Sur le fichier :

Ligne 24 : PaR Exemple on aura David Guetta
Ligne 25 : On aura Benny Bennassi
etc...

Je ne sais pas si c'est faisable
Tarek78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2011, 15h06   #7
Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2011
Messages : 37
Points : 45
Points : 45
Citation:
Envoyé par Tarek78 Voir le message
Ligne 24 : PaR Exemple on aura David Guetta
Ligne 25 : On aura Benny Bennassi
etc...
Bonjour,

C'est possible avec la formule que je t'ai donnée précédemment.
Code :
=INDEX($K$6:$K$11;PETITE.VALEUR(SI($F$6:$F$11=$D$9;LIGNE(INDIRECT("1:"&LIGNES($F$6:$F$11))));LIGNES($1:1)))
que tu modifies comme ceci pour éviter l'affichage d'erreurs
Code :
=SI(ESTERREUR(INDEX($K$6:$K$11;PETITE.VALEUR(SI($F$6:$F$11=$D$9;LIGNE(INDIRECT("1:"&LIGNES($F$6:$F$11))));LIGNES($1:1))));"";INDEX($K$6:$K$11;PETITE.VALEUR(SI($F$6:$F$11=$D$9;LIGNE(INDIRECT("1:"&LIGNES($F$6:$F$11))));LIGNES($1:1))))
et que tu valides avec les touches Ctrl+Maj+Entrée car il s'agit d'une formule matricielle.
Ensuite tu la déroules sur autant de rangées que nécessaire.

Pour l'anglais, sous toute réserve:
Code :
=IF(ERROR(INDEX($K$6:$K$11;SMALL(IF($F$6:$F$11=$D$9;ROW(INDIRECT("1:"&ROWS($F$6:$F$11))));ROWS($1:1))));"";INDEX($K$6:$K$11;SMALL(IF($F$6:$F$11=$D$9;ROW(INDIRECT("1:"&ROWS($F$6:$F$11))));ROWS($1:1))))
Bonne soirée.
grard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2011, 20h52   #8
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
Slt,

biensur c'est possible, mais si il y a plus de trois artiste ?

Citation:
Merci pour ta reponse mais moi je voudrais qu'une ligne corresponde a un artiste.
Voir fichier joint

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Worksheet_Activate()
 
    For l = 24 To 26
        Sheets("Tracko").Cells(l, 3).Clear
    Next
 
    i = Range("F65536").End(xlUp).Row
 
    For j = 6 To i
        If Sheets("Tracko").Cells(9, 4).Value = Sheets("Tracko").Cells(j, 6).Value Then
            Sheets("Tracko").Cells(24 + k, 3).Value = Sheets("Tracko").Cells(j, 11)
            k = k + 1
            If k > 3 Then Exit Sub 'à adapter, ici nombre d'artiste est limité à 3
        End If
    Next
 
End Sub
J'ai pas limité à trois le nombre d'artiste mais tu peux facilement le faire avec ça : (voir code ci-dessus)

Code :
If k > 3 Then Exit Sub 'à adapter, ici nombre d'artiste est limité à 3
Voilà

Cordialement
Fichiers attachés
Type de fichier : zip david# v4.zip (19,7 Ko, 5 affichages)
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h44   #9
Invité de passage
 
Homme
Analyste financier
Inscription : septembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyste financier
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 12
Points : 0
Points : 0
Merci pour ta réponse White. C'est sympa.
J'ai ouvert le fichier et des que je change quelque numéro de facture en haut et dans la base de donnée, cela ne modifie rien.

Désolé, mais je m’aperçois que je suis vraimennnnt nul compare a vous lol
Tarek78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h52   #10
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
C'est normal l'actualisation se fait lorsque tu change d'onglet où que tu ouvre le classeur... Fin j'avais mis ça comme ça

Le fichier ci-joint lui se met à jours dès que tu modifie une colonne de D à K, du coup lorsque tu change ton numéro de facture par exemple ça actualisera ta recherche automatiquement

Cordialement
Fichiers attachés
Type de fichier : zip david# v5.zip (21,3 Ko, 8 affichages)
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 18h07   #11
Invité de passage
 
Homme
Analyste financier
Inscription : septembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyste financier
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 12
Points : 0
Points : 0
Merciiiiiii White!!!! C 'est EXACTEMENT ca que je voulais.

Sachant que je peux avoir parfois jusqu'a 7 artistes comment je peux modifier car tu as limite a trois artistes et je ne sais pas comment s appelle ta macro pour pouvoir la modifier.

Tu es un génie !!!!
Tarek78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 19h27   #12
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
de rien content d'avoir pu t'aider !

Citation:
J'ai pas limité à trois le nombre d'artiste mais tu peux...
J'voulais juste te montrer comment faire mais sur le fichier le nombre d'artiste n'est pas limité. Je me suis dit que ça pourrait t'être utile parce que si il y a plus de trois artistes et que tu n'insère pas de ligne ça va écraser ta formule

Sinon pour voir la macro ALT+F11, dans Microsoft Objets Excel tu la trouve dans :
- Tracko (pour actualiser les données lors de tes modifs)
- ThisWorkbook (pour actualiser lors de l'ouverture, elle avait une utilité avant mais maintenant que les données se mettent à jours régulièrement tu peux la supprimer)

Si t'as d'autres questions n'hésite pas

Cordialement
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h09.


 
 
 
 
Partenaires

Hébergement Web