faire lien entre "split" et "target"

gadlun

XLDnaute Nouveau
Bonjour,
Mon problème est sans doute assez simple à résoudre pour vous (mais je ne suis pas spécialiste du tout de VBA et ai besoin de votre aide).
Je souhaiterai que lorsque l'on clique sur une cellule de la feuille accueil comportant par exemple "blablabla AAA blablabla", la feuille intitulée "AAA" de ce même classeur s'ouvre. Je précise que les cellules "sensibles" au double clic sont sur la plage C4:L13
J'ai trouvé sur le net comment extraire le deuxième mot d'une cellule.
J'ai trouvé sur le net comment ouvrir une feuille à partir du contenu d'une cellule.
Il ne me manque plus que de faire le lien entre les deux...

Merci par avance !
 

Pièces jointes

  • essai.xlsm
    15.7 KB · Affichages: 20
  • essai.xlsm
    15.7 KB · Affichages: 29
  • essai.xlsm
    15.7 KB · Affichages: 28

Efgé

XLDnaute Barbatruc
Re : faire lien entre "split" et "target"

Bonjour gadlun

Une proposition:
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
'Si la cellule (Traget) est dans la plage $C$4:$L$13
If Not Intersect(Target, Range("$C$4:$L$13")) Is Nothing Then
    'En cas d'erreur on passe (si la feuille n'éxiste pas)
    On Error Resume Next
    'On active la feuille qui a pour nom le deuxième mot
    Sheets(Split(Target.Value)(1)).Activate
End If
End Sub

Cordialement
 

gadlun

XLDnaute Nouveau
Re : faire lien entre "split" et "target"

Encore une petite question apparue à l'usage de la super formule d'Efgé : que faudrait-il ajouter à sa formule pour qu'elle continue de fonctionner sur des cellules fusionnées ? (aussi bien horizontalement que verticalement mais toujours au plus d'une seule cellule)
 

gadlun

XLDnaute Nouveau
Re : faire lien entre "split" et "target"

Je crois avoir trouvé la réponse (si cela pourra intéressé quelqu'un à l'avenir) : if faut remplacer dans la formule d'Efgé "Target.value" par "Target.Resize(1, 1).value"
Une dernière question (pour finauder...):rolleyes:
Et lorsque les mots sont séparés par des "retour charriot" et non un espace ? comment le reconnaître ?
 

gosselien

XLDnaute Barbatruc
Re : faire lien entre "split" et "target"

Bonjour;

moi je suggérerais de NE PAS fusionner les cellules ,mais de centrer sur plusieurs colonnes si possible :)
sauf erreur un retour chariot est chr(10) ou chr(13)
si tu ne connais pas, essaye avec chr(65) tu verras ce que ça donne ...
P.
 

gadlun

XLDnaute Nouveau
Re : faire lien entre "split" et "target"

En fait, c'est que je n'ai pas trop le choix. Je dois utiliser des cellules fusionnées, sinon c'est vrai, je m'en passerai bien !
Pas de réponse pour ma question du retour charriot ?
 

gadlun

XLDnaute Nouveau
Re : faire lien entre "split" et "target"

Oui, mais comment faire ce test par rapport à cette formule de Efgé ? (je ne suis pas spécialiste du tout !!!)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
'Si la cellule (Traget) est dans la plage $C$4:$L$13
If Not Intersect(Target, Range("$C$4:$L$13")) Is Nothing Then
'En cas d'erreur on passe (si la feuille n'éxiste pas)
On Error Resume Next
'On active la feuille qui a pour nom le deuxième mot
Sheets(Split(Target.Value)(1)).Activate
End If
End Sub
 

gadlun

XLDnaute Nouveau
Re : faire lien entre "split" et "target"

Oups ! Pardon. Voici le fichier (sur le principe). J'espère être arrivé à envoyer le fichier...
 

Pièces jointes

  • essai.xlsm
    17.9 KB · Affichages: 22
  • essai.xlsm
    17.9 KB · Affichages: 20
  • essai.xlsm
    17.9 KB · Affichages: 19

Efgé

XLDnaute Barbatruc
Re : faire lien entre "split" et "target"

Bonjour à tous

Bon....
Où sont les cellules fusionnées?

Pour le split sur un retour chariot il faut, comme indiqué par gosselien, utiliser Chr(10), donc :
VB:
 Sheets(Split(Target.Resize(1, 1).Value, Chr(10))(1)).Activate

Mais... ....comme "BBB" n'est pas "BBB "
il faut supprimer les espaces superflux:
VB:
Sheets(Trim(Split(Target.Resize(1, 1).Value, Chr(10))(1))).Activate

Cordialement
 

gadlun

XLDnaute Nouveau
Re : faire lien entre "split" et "target"

Bonjour Efgé,
Sauf erreur de ma part (ce qui est plus qu'envisageable), cette dernière formule ne fonction pas...
Je me suis demandé du coup si ce n'était pas la manière de faire un retour charriot qui était en cause (cellules colorées) : j'ai laissé en coloré les deux manières, soit un introduisant un car(10), soit en faisant alt+enter... mais apparemment, c'est autre chose...
Cette fois-ci, j'ai fusionné les cellules !
Merci pour votre patience en tout cas !
 

Pièces jointes

  • essai.xlsm
    18.2 KB · Affichages: 13
  • essai.xlsm
    18.2 KB · Affichages: 16
  • essai.xlsm
    18.2 KB · Affichages: 14

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia