ecrire une macro ou formule: inserer des valeurs dans un tableau double entree

romainrusso

XLDnaute Nouveau
Bonjour,

Je vous sollicite aujourd'hui pour que vous m'aidiez a creer une macro ou écrire une formule pour le problème suivant:

Je vous joins un exemple de ce que je veux faire car mon tableau est confidentiel. Les noms des variables sont identiques.

Explication du contexte:
Deux "sheets"- la premiere contenant un tableau renseignant pour les cas de "a" jusqu'a "t" les valeurs "Impact" et "Likelihood"- la deuxieme avec un tableau double entrée "Impact" et Likelihood"

La deuxieme feuille contient un tableau vide que j'aimerais remplir avec les données de la premiere.

Ce que j'aimerais faire donc, c'est remplir la tableau de la 2eme feuille avec les donnée de la première. (en gros mettre le cas "a" dans la ligne "Low" et collone " Very low" et ainsi de suite pour les autre cas...)

Comme la combinaison peut ce repeter plusieurs fois comme les cas "a" et "q", j'aimerais les avoir dans la meme case du tableau de la 2eme feuille en les séparant d'un point virgule.

Finalement ce tableau sera completer par d'autre combinaison provenant de nouveau cas, ainsi aimerais-je que la macro ou fonction puisse etre etirée facilement (dynamique)

Romain
 

Pièces jointes

  • Projet.xlsx
    10.8 KB · Affichages: 45
  • Projet.xlsx
    10.8 KB · Affichages: 48
  • Projet.xlsx
    10.8 KB · Affichages: 48

Modeste

XLDnaute Barbatruc
Re : ecrire une macro ou formule: inserer des valeurs dans un tableau double entree

Bonjour Romain et bienvenue à toi,

Pour autant que j'aie bien compris, un essai en pièce jointe, avec une fonction personnalisée (macro).
La fonction se nomme dispatch et prend trois arguments:
- "plageSource" qui correspondra à la plage contenant tes "cas" (Sheet1!$B$3:$B$22, dans ton exemple)
- "likelihood" correspond aux "titres" de colonnes dans ton tableau récapitulatif
- même chose avec "critical", qui sont les en-têtes de lignes

A tester ...
 

Pièces jointes

  • Projet romainrusso.xlsm
    19.3 KB · Affichages: 49

romainrusso

XLDnaute Nouveau
Re : ecrire une macro ou formule: inserer des valeurs dans un tableau double entree

Merci beaucoup Modeste: testé --> approuvé!

Juste un petit hic, comment fait-on pour mettre a jour automatiquement cette macro?
Par exemple admettons que mon cas "a" change de propriétés et passe a impact "Limited" et likelihood"Low".Comment faire pour rafraichir les deux cases de mon tableau pour l'actualiser?

Je me demande egalement si ce serait possible d'ajouter un hyperlink sur chaqun des cas dans mon tableau. Je m'explique: avoir un hyperlink sur le cas "a" renvoyant a la ligne de mon tableau dans ma premiere fiche, et ceci pour chaque cas meme. (ma liste est composée pour l'instant d'une centaine de cas, ceci permettrait de simplifier la recherche des cas que l'on souhaite étudier)


Merci pour ton aide si rapide.
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : ecrire une macro ou formule: inserer des valeurs dans un tableau double entree

Bonsoir Romain,

Pour la mise à jour de la fonction, en cas de modification dans le tableau de base, il suffit d'ajouter une précision au tout début du code: "Application.Volatile". J'en ai profité (même si ça ne change rien au fonctionnement) pour modifier le nom du dernier argument de la fonction: il se nomme "impact" plutôt que "critical". Je dépose la version mise à jour du fichier en pièce jointe, au cas où ...

Pour la création d'hyperliens, pour autant que je sache ce n'est pas possible si tu as plusieurs valeurs dans une cellule!?
Si besoin, on peut éventuellement trouver un système qui se déclencherait par clic droit sur la cellule (ou autre manip) ... mais la question demeurera, si la fonction donne comme résultat "a;q" ... tu voudrais que ça pointe sur le 'a' ou sur le 'q' :confused:
 

Pièces jointes

  • Projet romainrusso (V2).xlsm
    19.7 KB · Affichages: 46

romainrusso

XLDnaute Nouveau
Re : ecrire une macro ou formule: inserer des valeurs dans un tableau double entree

Bonjour Modeste,

Encore merci pour ton aide.
J'ai deja étudié de la programmation en C++ donc j'avais compris le code. Il me manque juste la base et l'ecriture fonctions du language excel. (J'ai compris le programme sauf la derniere ligne qui je suppose permet d'afficher le resultat)
Saurais-tu par ailleurs comment ecrire un retour a la ligne dans la meme cellule ( pour remplacer mon point virgule, j'ai trouvé des reponses sur internet mais elles ne fonctionne pas sur la fiche excel et me renvoi un point d'interrogation a la place du retour a la ligne.

En tout cas encore merci pour ton efficacité.

Pour les hyperlink, le mieux serait un pointeur pour chaque cas donc un pour "a" et un pour "q" par exemple. Je demande cela mais c'est juste un plus pour la fonctionnalité du fichier. Mon premier tableau peut etre filtré donc la recherche est simple.

J'explique cette fonctionnalité: le tableau qui grace a toi est rempli automatiquement permet de classifier les cas en fonction de leur criticité ( je fais une analyse de risque). Ainsi il est decoupé en plusieurs zones (verte , jaune et rouge).

Ainsi pensais-je utiliser seulement ce tableau pour presenter les cas jaune et rouge et pouvoir ce referé rapidement au cas souhaité pour le modifier si necessaire.

Mais comme je dis ce n'est qu'une fonctionnalité en supplement et le programme est deja complet


Thanks ;)
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : ecrire une macro ou formule: inserer des valeurs dans un tableau double entree

Bonjour,

Pour remplacer le ';', par un "retour à la ligne", voici la modification à apporter:
à la fin de la ligne 4 dans le code, remplace dispatch = dispatch & c & ";" ... Par dispatch = dispatch & c & Chr(10)
et active le "renvoyer à la ligne automatiquement" dans le format des cellules concernées.

Comme en C++ (me semble-t-il :confused:) une fonction retourne une valeur. La dernière ligne du code permet simplement (si le résultat est différent d'une chaîne vide) de supprimer le dernier ';' (ou dans la nouvelle version, le dernier "retour à la ligne")

Pas spécialement d'idées pour ta "question subsidiaire" pour l'instant ... si j'en entrevois une, je le signalerai ici!

... Si quelqu'un d'autre a une proposition, surtout qu'il ne se prive pas de le faire savoir :D
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 976
Membres
103 077
dernier inscrit
kamel26asus