XL 2013 RollOver sur cell sans boucle peut on modifier le lien avec une liste(array en VBA)

patricktoulon

XLDnaute Barbatruc
Bonjour a tous
suite a une réponse qui a été donnée sur le forum avec un lien vers youtube
j'ai testé l'astuce et elle fonctionne
cependant je me demande si l'on peut pas remplacer la liste de ref par un array dans la fonction
en effet
voila l'astuce
  1. je fait une liste en A2:A8( j'en ai fait un tableau structuré mais c'est pas obligé)
  2. je vais prendre une cellule ailleurs et je vais lui donner le nom de Ref_cel
  3. je vais prendre une autre plage de même dimension que ma liste ayant les même valeurs
  4. dans la première cellule de cette plage je vais y mettre cette formule =SIERREUR(LIEN_HYPERTEXTE(getvalCel(B2));B2) et je l’étends sur les 7 lignes de cette plage
  5. dans un module standard je lui met cette fonction
VB:
Public Function getvalCel(nom_cellule As Range)
Range("Ref_Cel").Value = nom_cellule.Value
End Function

j'ajoute une mise en forme conditionelle à cette plage
1693920423995.png


et voila le resultat
demo.gif


donc sa fonctionne
j'ai bien l'impression que même si dans cette plage de reception ce n'est pas des liens , c'est bel et bien le fait qu'il y est la fonction lienhypertext qui fait le repeat et donc fait office d'event mouse move

deux questions

1° peut on dans ce contexte dans la fonction par exemple remplacer la plage liste originale par un array dans la fonctions
moyennant des modifs dans la formule utilisant l'indexage par la fonction ligne() par exemple sur un array

2° et remplacer la cellule D1 par un name
 

Pièces jointes

  • roll over sur cell.xlsm
    14.8 KB · Affichages: 12
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
pour moi mettre une matrice dans la formule ou une plage de cellule c'est bonnet blanc blanc bonnet
alors le but de cet exercice etait de se passer de matrice justement
alors j'ai bien essayé en référence circulaire et en activant le calcul itératif dans mes options excel
alors ca marche mais c'est encore plus lourd que la version avec le name
donc mes seules solutions effectivement c'est
  1. soit une plage de ref (pour ma liste)
  2. soit une matrice dans la formule(méthode que tu utilise)
  3. soit le text unique en dur
ceci étant dit me reste a maitriser l'effet de bord sur les MFC
je n'arrive pas a colorer les ligne entières de la plage en fonction de la colonne utilisant cette astuce
 

RyuAutodidacte

XLDnaute Impliqué
Supporter XLD
  1. soit une plage de ref (pour ma liste)
  2. soit une matrice dans la formule(méthode que tu utilise)
dans mon fichier j'ai fait les 2
ceci étant dit me reste a maitriser l'effet de bord sur les MFC
je n'arrive pas a colorer les ligne entières de la plage en fonction de la colonne utilisant cette astuce
c'est pas ce que j'ai fait dans mon fichier ? (ou j'ai pas compris ce que tu voulais alors … ?)
 

patricktoulon

XLDnaute Barbatruc
ben l'astuce du lien fait que la cellule ref change
et après il y a la MFC alors pour colorer la colonne elle même ça va
mais si je veux etendre a toute la ligne d'une plage je bug
prend le fichier du post 12 regarde la formule de la MFC tu va voir
comme on dit chez nous "y a quéquéchoase qui pète mal dans le boulégua"
 

Discussions similaires

Statistiques des forums

Discussions
312 392
Messages
2 087 958
Membres
103 686
dernier inscrit
maykrem