Fonction qui renvoie la valeur maximale associé à une clé

Bonjour,

Mon problème est le suivant :

J'ai un tableau avec deux colonnes : une colonne date et une colonne magasin dans lesquelles je rentre la date à laquelle un magasin commande et le magasin en question, cf ci dessous :

test1

J'aimerais pouvoir, pour chaque magasin, avoir la date de la dernière commande, c'est à dire faire un tableau avec une colonne magasin qui contiendrait magasin 1, magasin 2 et magasin 3, et une autre colonne qui contiendrait les dates de dernière commande de magasin 1, magasin 2 et magasin 3, c'est à dire :

test2

J'ai regardé un peu la fonction RECHERCHEV mais sans succès (je me dis que ça aurait pu le faire si cette fonction pouvait me renvoyer l'ensemble des valeurs associées à la clé : je rechercherais ensuite la valeur max parmi elles ; mais ça n'a pas l'air d'être possible).

Merci de votre aide !

Salut armand_favrot,

service minimum puisque :

  • pas de fichier ;
  • pas de précisions quant à l'emplacement de ce tableau filtré.

Un double-clic démarre la macro.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Cancel = True
Range("F1:G16").Value = Range("A1:B16").Value
Range("F1:G16").Sort key1:=Range("G2"), order1:=xlAscending, key2:=Range("F2"), order2:=xlDescending, Orientation:=xlTopToBottom, Header:=xlYes
Range("F1:G16").RemoveDuplicates Columns:=2
'
End Sub

A suivre, sans doute...

A+

8armand-favrot.xlsm (14.24 Ko)

Salut Curulis57,

Désolé pour le manque d'infos j'ai pas l'habitude..!

Voici le fichier :

9test.xlsx (4.90 Ko)

Le tableau à gauche, c'est mes données, et le tableau à droite c'est le résultat que je voudrais obtenir.

J'ai pas compris ce que tu voulais dire avec la macro..

Salut armand_favrot,

quand tu ouvres mon fichier, pour tester, il te suffit de double-cliquer n'importe où sur la feuille pour que la macro démarre pour te donner le résultat (à peu près visuellement) que tu attends...

A+

Je crois qu'il y a un petit problème, c'est que je n'ai pas excel mais libre office (j'ai télécharger mon fichier source de Google sheet et il me l'a converti en fichier excel), j'ai essayé de faire ce que tu m'as dit mais ça n'a pas fonctionné..

Comment faire?

Désolé, armand_favrot,

Je n'avais pas vu (je ne regarde quasi jamais ce détail important !) que tu utilisais Calc!

Ne connaissant pas cette bête, je ne pourrais te dire...

A+

Bonjour, salut curulis57 !

Une fonctionnalité qui est aussi présente dans Calc (et Google Sheet) : le tableau croisé dynamique.

N'ayant pas Calc sur mon PC, je te renvoie ton fichier avec un TCD réalisé sous Excel :

9test-1.xlsx (11.18 Ko)

Bonjour armand_favrot,

Essayez avec la formule suivante, en A les dates, en B les magasins,

en E la liste des magasins en F la formule qui restitue la date la plus récente

=SI(E2="";"";MAX.SI($A$2:$A$23;$B$2:$B$23;E2))

Voyez si la pièce jointe peut vous aider

8armand-favrot.ods (18.74 Ko)

Bonjour njhub, Pedro22 et curulis57

Merci pour vos réponses!

Le format sur lequel je travaille à la fin est le format des fichiers sheet, j'utilise très peu calc à vrai dire..

A njhub et Pedro22, j'ai testé vos solutions et ça fonctionne bien merci!

Le seul bémol, c'est que je me suis rajouté une difficulté et qu'à nouveau je sèche. Je voudrais avoir la quantité commandé lors de la dernière commande.

Voici un fichier qui illustre ce que je voudrais : (les A, B et C sont les données, les colonnes E, F et G sont ce que je voudrais obtenir, les colonnes I, J et K sont une tentative avec un TCD mais qui ne marche pas (problème avec la quantité)

11test.xlsx (7.21 Ko)

Bonne soirée

Bonjour à tous,

C'est bon j'ai réussi à obtenir ce que je veux grâce à la fonction BDSOMME :

Je récupère la quantité commandée avec un critère sur la date et sur le magasin, ma formule en G2 (par rapport au fichier de mon message précédent) est :

=BDSOMME(A:C;"Quantité";{{"date";"F2"}\{"magasin";"E2"}})

Merci encore pour votre aide

Bonne journée!

Bonjour armand_favrot,

Pourriez vous partager le fichier qui fonctionne sous CALC avec la fonction BDSOMME()

Je ne parviens pas à obtenir un résultat...

Merci d'avance

Bonjour njhub,

En fait j'ai fait ça sous sheet, et je viens d'essayer sous calc, mais sans succès du fait des conditions d'utilisation de la fonction BDSOMME : je ne sais pas si on peut utiliser autre chose qu'une table dans la syntaxe de la fonction pour définir le critère de la somme. Je pense que ce que je raconte va être plus clair quand tu verras ce que ça donne sous sheet, voici le lien :

https://drive.google.com/open?id=1KGim68dp0FfUA-X-XIRZNvdKgKN1Y-aUkJ3qtJ8Cu0I

Bonjour armand_favrot,

Merci, me voilà rassuré

Bonne journée

pareillement

Rechercher des sujets similaires à "fonction qui renvoie valeur maximale associe cle"