Liste de références

Je tourne en rond pour trouver la bonne formule mais je n'y arrive pas :

j'ai une liste de repères (lettres de l'alphabet) auxquelles sont attribuées des valeurs numériques et je souhaite pouvoir lister les repères selon chaque valeur (exemple 0.90 correspond aux repères A B et F).

j'ai réussi à déterminer le nombre de valeurs identiques avec la formule SI.NB

j'ai trouvé quelques éléments avec les formules EQUIV, INDEX et CONCATENER

mais le fait qu'il puisse y avoir plusieurs repères pour une même valeur me pose des problèmes

Pouvez-vous m'aider ? je mets ci-dessous un exemple :

exemple

bonjour

2solutions soit 1 lettre par cel de reponse ;ou alors tout dans la meme (se sera du vba)

tu mets ton fichier en piece jointe (en utilisant "ajouter des fichier joints" et tu nous dis quoi

cordialement

le but étant de ne pas avoir quelque chose de trop lourd : le VBA sera peut-être une bonne alternative...

Ci-joint le fichier

re

un essai par formules

si +/- satisfait tu auras des explications ....

29alive.zip (8.48 Ko)

cordialement

Merci, c'est en effet une solution envisageable que je garde sous le coude... est-ce qu'il ne serait pas mieux de faire du VBA car ça allégerait la feuille. (il faut potentiellement autant de colonnes avec les formules que de lignes avec les repères)

Salut Alive, Salut Tulipe,

Tulipe, tu m’avais promis qu’un jour tu irais cliquer sur le bouton ‘Cours VBA’ Tu verras, ça ne mords pas, pas comme le vrai ou la vraie Tulipe

Alive, je te propose une solution par macro. Par rapport à ton exemple, il manque la mise en forme des montants (0.9 au lieu de 0.90) ainsi que le mot ‘et’ lorsque plusieurs ‘repères’ sont trouvés (A, B, F au lieu de A, B et F).

Si ma proposition te convient, ces petits problèmes pourraient être résolus également. Mais si tes exemples n’étaient que des exemples et que tu n’as pas réellement d’un résultat absolument ressemblant, il faudra voir ce que tu as effectivement besoin. Je me suis compris. Et toi, m’as-tu compris ?

Cordialement.

Merci beaucoup Yvouille ça correspond à ce que je veux : je regarde le code en détail ce midi et j'essaie de le mettre en place pour mon cas concret (ce n'était jusque là que des exemples) et je vous tien au courant. en attendant merci encore

Je vous mets ci-joint mon fichier (il y a normalement d'autres feuilles mais je les ai supprimées pour cause de confidentialité). Je vais essayer de coder petit à petit ce que je souhaite obtenir.

Pour comprendre, il s'agit d'un listing d'ouvertures (fenêtres et baies) classées par repères de A à Z + 3 noms possibles (cases Q3 à Q31) détaillées en fonction de leurs dimensions (cases R3 à T31) et de leur type de fermetures (divers volets roulants et stores) sélectionnées via combobox en Y et dont la cellule liée est en Z.

le but est de lister :

  • les appuis de fenêtres dans les cases R52:R (toutes les largeurs dont la hauteur associée est inférieure à 2.15)
  • les seuils de baies dans les cases T52:T (toutes les largeurs dont la hauteur associée est supérieure ou égale à 2.15)
  • les coffres tunnels dans les cases V52:V (toutes les largeurs dont la case Z est spécifiée "VR tradi + coffre tunnel"
  • les coffres 1/2 linteaux dans les cases W52:W (toutes les largeurs dont la case Z est spécifiée "bloc-baie 1/2 Linteau" ou "VR tradi + coffre 1/2 Linteau"
  • les réservations pour stores dans les cases X52:X (toutes les largeurs dont la case Z est spécifiée "BSO"

Les listings se ferons sous la forme X de L = X,XX m, repère(s) X, X, X et X (exemple : 3 de 0.90 m, repère(s) A, B et C) et le déclenchement des listes ne se fera pas par bouton mais à chaque changement de valeur dans le tableau.

Pour commencer je vais intégrer ton code sur mon projet, 1ère question : est-ce que je créé un module ou alors je le mets dans le code de la feuille ?

Re,

Ton fichier n'est pas passé

C'est bon : j'ai été obligé de supprimer les contenus des 1ères colonnes pour alléger...

14donnees-test.xlsm (158.33 Ko)

Salut,

J’ai un peu de peine à te suivre : d’un côté tu donnes une immense explication comme si tu désirais que l’on t’aide à créer ce code puis en finale ta seule question est : « Faut-il placer la macro dans un module ou dans le code de la feuille ? ».

Alors pour répondre à ta question, je le placerais logiquement dans un module – à l’instar du code que je t’ai fourni – mais si tu désires le placer d’une manière un peu illogique dans le code de la feuille, ça fonctionnera aussi.

Désolé de t’avoir demandé ton fichier – qui finalement n’a pas été utile à répondre à ta question – mais comme je pensais qu’il fallait voir ton fichier pour répondre à ton attente, je n’avais pas lu l’entièreté de ton texte.

Cordialement.

J'ai fait une longue explication pour expliquer mon souhait dans son ensemble mais je veux malgré tout comprendre les infos qui me sont données et pouvoir les adapter à mon projet...

Ici, quel est l’intérêt de créer un module plus que de mettre le code dans la feuille ? est-ce que c'est comme tu le dis "une logique" ou est-ce que ça joue réellement sur certains éléments ?

en tout cas, merci pour le coup de mains !

Salut,

Personnellement je place dans le code de la feuille que les codes (normalement évènementiels) qui ont rapport avec cette feuille uniquement.

Si je pense qu’un code pourrait tôt ou tard être appelé depuis n’importe quelle feuille, je le place alors plutôt dans un module.

Mais à toi de prendre tes propres habitudes.

Amicalement.

Du coup j'ai essayé d'adapter ce code et évidemment ça plante : j'ai renommé DerLig_B en DerLig_larg et DerLig_G en Derlig_bilan,je ne sais pas si l'erreur vient de ça ? J'ai aussi essayé d'avoir des plages "restrictives" c'est à dire qu'au lieu d'avoir mon résultat qui se calcul sur l'ensemble de la colonne R se fait par rapport à R3:R31... que faut-il que je modifie ?

14donnees-test.xlsm (166.94 Ko)

Salut et merci de me répondre (selon la charte du Forum, on n’a pas à se gêner de dire merci)

Il me semble que tu joues un peu à l’apprenti sorcier et je pense qu’un petit tour au ‘Cours VBA’ proposé gratuitement sur ce site ne serait pas du luxe.

Dans l’immédiat :

Tu peux faire référence à une plage pour certaine action seulement, par exemple pour vider une plage Range("R52:R66").ClearContents

Mais si tu veux appliquer à une variable la valeur d’une cellule, Valeur = Range("T522") ira, mais non pas Valeur = Range("T52:T66").

J’ai parfois remplacé certaines valeurs inconnues par des variables. Ainsi dans cette ligne Valeur = Range("C" & i), la ligne de la colonne C concernée est la valeur contenue dans la variable i. Mais comme tu as écrit Valeur = Range("T52:T66" & i), ça ne veut plus rien dire.

Je ne peux pas te faire un cours VBA complet et me permets d’abandonner ce fil. J’espère que tu comprennes.

Amicalement.

ok, merci quand même pour l'aide et le temps passé !

Rechercher des sujets similaires à "liste references"