Selection d'une plage de cellules à partir d'un clic

Eagle

XLDnaute Nouveau
Bonsoir à Tous,

Voilà mon problème, imaginons une feuille de calcul comportant plusieurs onglets.
Onglet1 : dans la cellule A1 la formule fait reference à une plage de cellules de l'onglet2
ex: A1 : ='Onglet2'!N18:O24
Je souhaiterais sur simple clic en cellule A1 :
- Aller sur l'onglet auquel la cellule fait référence
- et sélectionner la plage de cellule concernée

Cerise sur le gateau...
- Modifier la couleur de la plage de cellules concernée, identique à la cellule cliquée (notament A1 pour l'exemple)

Merci par avance

PS Félicitations aux participants de ce forum bien agréable

Cordialement

Eagle
 

ROGER2327

XLDnaute Barbatruc
Re : Selection d'une plage de cellules à partir d'un clic

Bonjour Eagle
Voyez dans le classeur joint si cette procédure vous convient :
Code:
[COLOR="DarkSlateGray"][COLOR="SeaGreen"]'Code placé dans le module de la feuille Onglet1
[/COLOR]
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pl
   If Target.Address = "$A$1" Then
      Cancel = True
      pl = Split(Me.[A1].Value, "!")
      Worksheets(pl(0)).Activate
      ActiveSheet.Range(pl(1)).Select
      Selection.Interior.ColorIndex = Me.[A1].Interior.ColorIndex
   End If
End Sub[/COLOR]
ROGER2327
 

Pièces jointes

  • Eagle_1.xls
    25.5 KB · Affichages: 116

soenda

XLDnaute Accro
Re : Selection d'une plage de cellules à partir d'un clic

Bonsoir le fil, Eagle, Roger2327
Eagle à dit:
Je souhaiterais sur simple clic en cellule A1...
Donc, en modifiant légèrement l'excellente proposition de Roger, on pourrait écrire (dans le code de Feuil1):
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim pl As Variant
 
    If Not Intersect(Target, [A1]) Is Nothing Then
        pl = Split(Me.[A1].Value, "!")
        Worksheets(pl(0)).Activate
        ActiveSheet.Range(pl(1)).Select
        Selection.Interior.ColorIndex = Me.[A1].Interior.ColorIndex
    End If
End Sub
A plus
 

Eagle

XLDnaute Nouveau
Re : Selection d'une plage de cellules à partir d'un clic

Bonsoir à Tous et Toutes,

Et merci pour vos réponses et le partage de vos connaissances.

Mais mon imprecision dans la description de mon problème entraine un problème dans le résultat escompté...

Le code de Roger2327 est parfait mais j'avais oublié de dire que le double clic doit fonctionner sur n'importe quelle cellule de n'importe quel onglet et aller sélectionner la plage concernée contenu dans la cellule double cliquée.

Et pour abuser de vos connaissances...
Est il possible d'integrer une macro qui se lancerait par un CTRL A et qui scannerait toutes les cellules de tous les onglets de la feuille de calcul et qui affecterait la couleur de fond en rouge de toutes les cellules qui contiendraient une formule.

Cordialement
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Selection d'une plage de cellules à partir d'un clic

Bonsoir Eagle, Soenda, Roger

Juste pour répondre à cette partie :

Le code de Roger2327 est parfait mais j'avais oublié de dire que le double clic doit fonctionner sur n'importe quelle cellule de n'importe quel onglet et aller sélectionner la plage concernée contenu dans la cellule double cliquée.

Il suffit de s'appuyer sur les évènementielles du Private Module ThisWorkBook comme suit

Code:
Private Sub [B][COLOR=blue]Workbook_SheetBeforeDoubleClick[/COLOR][/B](ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
 
 
End Sub

Pour le reste ça sent le gaz ;)

Cordialement
@+Thierry


EDITION
En fait quand je dis ça send le gaz c'est simplement que cette fonction existe dans Excel avec "Atteindre" / "Cellules" / "Formules"
 
Dernière édition:

Eagle

XLDnaute Nouveau
Re : Selection d'une plage de cellules à partir d'un clic

Bonsoir Eagle, Soenda, Roger, Thierry

Désolé Thierry, mais étant novice en terme de code excel, je n'ai pas trouver de solution pour résoudre mon problème de double clic.

D'autre part, effectivement il existe une commande "atteindre" pour trouver une cellule précise mais mon objectif est une macro qui mettrait le fond en rouge de toutes les cellules qui contiennent une formule afin de ne pas le faire manuellement car j'ai une feuille de calcul complexe et ayant de nombreux onglets.

Je reste à l'écoute de toute proposition et vous remercie par avance.

Cordialement
 

chris

XLDnaute Barbatruc
Re : Selection d'une plage de cellules à partir d'un clic

Bonjour
Eagle à dit:
Je souhaiterais sur simple clic en cellule A1...

Le simple clic servant à sélectionner une cellule, si tu y associes une macro, ton classeur va devenir inutilisable (car si je comprends bien A1 n'est qu'un exemple), d'où la proposition de Roger.

Eventuellement à remplacer par un clic droit mais je conseille d'éviter de changer les comportements normaux d'Excel/Windows : pourquoi ne pas prévoir un bouton dans la barre d'outils ?

Sinon regardes aussi le possibilité d'associer un hyperlien (c'est possible par macro). Reste à ajouter l'aspect couleur : mais si tu as des quantités importantes de plages avec autant de couleurs, je ne suis pas sûr que cet habit d'arlequin soit très lisible car tu ne précises pas si la couleur est temporaire ou permanente.

Eagle à dit:
effectivement il existe une commande "atteindre" pour trouver une cellule précise mais mon objectif est une macro qui mettrait le fond en rouge de toutes les cellules qui contiennent une formule
La commande atteindre permet aussi de sélectionner toutes les cellules contenant une formule : cliques sur le bouton cellules et tu verras qu'il existe plein de possiblités :p
 

Discussions similaires

Statistiques des forums

Discussions
312 202
Messages
2 086 180
Membres
103 152
dernier inscrit
Karibu