OVH Cloud OVH Cloud

faire apparaitre un tableau en cliquant sur une case??

10 réponses
Avatar
olaiive
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ

10 réponses

Avatar
Daniel
Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu cliques
en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message de
news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ


Avatar
Patrick BASTARD
Bonjour, *olaiive*

Sans macro :

Une fois ton tableau nommé (tablo par exemple)

sur la cellule où tu désires créer ton lien vers tablo :
Insertion, Lien hypertexte (ou Ctrl+K)
Cliquer sur "emplacement dans ce document" (partie gauche de la fenêtre qui
s'ouvre).
(si ton tableau était dans un autre classeur, cliquer sur fichier ou
page..., et choisir dans l'arborescence)
Cliquer si besoin sur le + en face de "noms définis" (partie principale de
la fenêtre) pour afficher les noms
Cliquer sur "tablo"

Tu peux modifier le texte que tu désires voir s'afficher dans la cellule qui
contient le lien (partie haute de la fenêtre)
Un clic sur OK, et ton lien est créé.

Cela te convient-il ?

--
Bien amicordialement,
P. Bastard



Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ


Avatar
fredbzr
Bonsoir,
je suis très intéressé par votre macro car j'ai une centaine de tableaux
(dont parfois une quinzaine qui se suivent) et j'aurai voulu savoir si
s'était possible d'avoir par ex de b8 à k12 (donc 50 cellules pour 50
tableaux) et lorsque l'on clique sur une cellule, la 1ère cellule du tableau
en haut à gauche (par ex A22) apparaisse sur l'écran en haut à gauche ainsi
de suite pour chaque cellules de chaque tableaux.
j'espère être explicite
merci de votre aide
"Daniel" a écrit dans le message de news:

Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu
cliques en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message de
news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ






Avatar
Daniel
Bonsoir.
J'avoue que je coince sur ce problème. Je pose la question sur le forum.
Cordialement.
Daniel
"fredbzr" a écrit dans le message de news:
43877c21$0$19693$
Bonsoir,
je suis très intéressé par votre macro car j'ai une centaine de tableaux
(dont parfois une quinzaine qui se suivent) et j'aurai voulu savoir si
s'était possible d'avoir par ex de b8 à k12 (donc 50 cellules pour 50
tableaux) et lorsque l'on clique sur une cellule, la 1ère cellule du
tableau en haut à gauche (par ex A22) apparaisse sur l'écran en haut à
gauche ainsi de suite pour chaque cellules de chaque tableaux.
j'espère être explicite
merci de votre aide
"Daniel" a écrit dans le message de news:

Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu
cliques en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message de
news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ










Avatar
Daniel
Bonjour.
Grâce à Modeste, tu peux essayer le code suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Select Case Target.Address
Case "$B$8"
Sheets("Feuil2").Select
ActiveSheet.Range("U300:Z310").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
Case "$B$9"
Sheets("Feuil3").Select
ActiveSheet.Range("A1:A10").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
'etc...
End Select
End Sub
Daniel
"fredbzr" a écrit dans le message de news:
43877c21$0$19693$
Bonsoir,
je suis très intéressé par votre macro car j'ai une centaine de tableaux
(dont parfois une quinzaine qui se suivent) et j'aurai voulu savoir si
s'était possible d'avoir par ex de b8 à k12 (donc 50 cellules pour 50
tableaux) et lorsque l'on clique sur une cellule, la 1ère cellule du
tableau en haut à gauche (par ex A22) apparaisse sur l'écran en haut à
gauche ainsi de suite pour chaque cellules de chaque tableaux.
j'espère être explicite
merci de votre aide
"Daniel" a écrit dans le message de news:

Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu
cliques en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message de
news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ










Avatar
Daniel
Tu peux, pour améliorer les performances, construire une table de
correspondance entre cellule, Feuille et plage à afficher sur une feuille :

Sub Construction()
Dim Plage As Range, Ref As Range
Sheets.Add
ActiveSheet.Name = "References"
Range("A1").Select
Set Plage = Range("B8:K12")
Set Ref = Range("A1:A40")
For i = 1 To 4
For j = 1 To 10
ActiveCell = Plage(j, i).Address
ActiveCell.Offset(0, 1).Value = InputBox("Entrez le nom de la
feuille pour " & Plage(j, i).Address)
ActiveCell.Offset(0, 2).Value = InputBox("Entrez l'adresse de la
plage pour " & Plage(j, i).Address)
ActiveCell.Offset(1, 0).Select
Next j
Next i
End Sub

Tu peux, bien sûr, utiliser les contrôles listbox et refedit pour faciliter
la saisie.
Le code, dans ta feuille devient :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Feuille As String, Plage As String
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Feuille = Application.VLookup(Target.Address,
Sheets("References").Range("A1:C40"), 2, 0)
Plage = Application.VLookup(Target.Address,
Sheets("References").Range("A1:C40"), 3, 0)
Sheets(Feuille).Select
ActiveSheet.Range(Plage).Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
End Sub

Daniel
"Daniel" a écrit dans le message de news:

Bonjour.
Grâce à Modeste, tu peux essayer le code suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Select Case Target.Address
Case "$B$8"
Sheets("Feuil2").Select
ActiveSheet.Range("U300:Z310").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
Case "$B$9"
Sheets("Feuil3").Select
ActiveSheet.Range("A1:A10").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
'etc...
End Select
End Sub
Daniel
"fredbzr" a écrit dans le message de news:
43877c21$0$19693$
Bonsoir,
je suis très intéressé par votre macro car j'ai une centaine de tableaux
(dont parfois une quinzaine qui se suivent) et j'aurai voulu savoir si
s'était possible d'avoir par ex de b8 à k12 (donc 50 cellules pour 50
tableaux) et lorsque l'on clique sur une cellule, la 1ère cellule du
tableau en haut à gauche (par ex A22) apparaisse sur l'écran en haut à
gauche ainsi de suite pour chaque cellules de chaque tableaux.
j'espère être explicite
merci de votre aide
"Daniel" a écrit dans le message de news:

Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu
cliques en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message de
news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ














Avatar
fredbzr
Bonjour à tous, bonjour Daniel
merci pour ton aide précieuse, je vais de ce pas essayer d'intéger tout çà
dans mon classeur.
Bonne soirée
"Daniel" a écrit dans le message de news:

Tu peux, pour améliorer les performances, construire une table de
correspondance entre cellule, Feuille et plage à afficher sur une feuille
:

Sub Construction()
Dim Plage As Range, Ref As Range
Sheets.Add
ActiveSheet.Name = "References"
Range("A1").Select
Set Plage = Range("B8:K12")
Set Ref = Range("A1:A40")
For i = 1 To 4
For j = 1 To 10
ActiveCell = Plage(j, i).Address
ActiveCell.Offset(0, 1).Value = InputBox("Entrez le nom de la
feuille pour " & Plage(j, i).Address)
ActiveCell.Offset(0, 2).Value = InputBox("Entrez l'adresse de
la plage pour " & Plage(j, i).Address)
ActiveCell.Offset(1, 0).Select
Next j
Next i
End Sub

Tu peux, bien sûr, utiliser les contrôles listbox et refedit pour
faciliter la saisie.
Le code, dans ta feuille devient :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Feuille As String, Plage As String
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Feuille = Application.VLookup(Target.Address,
Sheets("References").Range("A1:C40"), 2, 0)
Plage = Application.VLookup(Target.Address,
Sheets("References").Range("A1:C40"), 3, 0)
Sheets(Feuille).Select
ActiveSheet.Range(Plage).Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
End Sub

Daniel
"Daniel" a écrit dans le message de news:

Bonjour.
Grâce à Modeste, tu peux essayer le code suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Select Case Target.Address
Case "$B$8"
Sheets("Feuil2").Select
ActiveSheet.Range("U300:Z310").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
Case "$B$9"
Sheets("Feuil3").Select
ActiveSheet.Range("A1:A10").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
'etc...
End Select
End Sub
Daniel
"fredbzr" a écrit dans le message de news:
43877c21$0$19693$
Bonsoir,
je suis très intéressé par votre macro car j'ai une centaine de tableaux
(dont parfois une quinzaine qui se suivent) et j'aurai voulu savoir si
s'était possible d'avoir par ex de b8 à k12 (donc 50 cellules pour 50
tableaux) et lorsque l'on clique sur une cellule, la 1ère cellule du
tableau en haut à gauche (par ex A22) apparaisse sur l'écran en haut à
gauche ainsi de suite pour chaque cellules de chaque tableaux.
j'espère être explicite
merci de votre aide
"Daniel" a écrit dans le message de news:

Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu
cliques en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message
de news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ


















Avatar
fredbzr
Merci aussi à Modeste qui m'a déjà dépanné pour avoir des cellules
clignotantes
"Daniel" a écrit dans le message de news:

Tu peux, pour améliorer les performances, construire une table de
correspondance entre cellule, Feuille et plage à afficher sur une feuille
:

Sub Construction()
Dim Plage As Range, Ref As Range
Sheets.Add
ActiveSheet.Name = "References"
Range("A1").Select
Set Plage = Range("B8:K12")
Set Ref = Range("A1:A40")
For i = 1 To 4
For j = 1 To 10
ActiveCell = Plage(j, i).Address
ActiveCell.Offset(0, 1).Value = InputBox("Entrez le nom de la
feuille pour " & Plage(j, i).Address)
ActiveCell.Offset(0, 2).Value = InputBox("Entrez l'adresse de
la plage pour " & Plage(j, i).Address)
ActiveCell.Offset(1, 0).Select
Next j
Next i
End Sub

Tu peux, bien sûr, utiliser les contrôles listbox et refedit pour
faciliter la saisie.
Le code, dans ta feuille devient :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Feuille As String, Plage As String
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Feuille = Application.VLookup(Target.Address,
Sheets("References").Range("A1:C40"), 2, 0)
Plage = Application.VLookup(Target.Address,
Sheets("References").Range("A1:C40"), 3, 0)
Sheets(Feuille).Select
ActiveSheet.Range(Plage).Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
End Sub

Daniel
"Daniel" a écrit dans le message de news:

Bonjour.
Grâce à Modeste, tu peux essayer le code suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Select Case Target.Address
Case "$B$8"
Sheets("Feuil2").Select
ActiveSheet.Range("U300:Z310").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
Case "$B$9"
Sheets("Feuil3").Select
ActiveSheet.Range("A1:A10").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
'etc...
End Select
End Sub
Daniel
"fredbzr" a écrit dans le message de news:
43877c21$0$19693$
Bonsoir,
je suis très intéressé par votre macro car j'ai une centaine de tableaux
(dont parfois une quinzaine qui se suivent) et j'aurai voulu savoir si
s'était possible d'avoir par ex de b8 à k12 (donc 50 cellules pour 50
tableaux) et lorsque l'on clique sur une cellule, la 1ère cellule du
tableau en haut à gauche (par ex A22) apparaisse sur l'écran en haut à
gauche ainsi de suite pour chaque cellules de chaque tableaux.
j'espère être explicite
merci de votre aide
"Daniel" a écrit dans le message de news:

Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu
cliques en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message
de news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ


















Avatar
olaiive
Merci d'avoir repondu....
mais tu me dis de mettre ce code? à quel endroit?
dans Fx??


Bonjour.
Grâce à Modeste, tu peux essayer le code suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Select Case Target.Address
Case "$B$8"
Sheets("Feuil2").Select
ActiveSheet.Range("U300:Z310").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
Case "$B$9"
Sheets("Feuil3").Select
ActiveSheet.Range("A1:A10").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
'etc...
End Select
End Sub
Daniel
"fredbzr" a écrit dans le message de news:
43877c21$0$19693$
Bonsoir,
je suis très intéressé par votre macro car j'ai une centaine de tableaux
(dont parfois une quinzaine qui se suivent) et j'aurai voulu savoir si
s'était possible d'avoir par ex de b8 à k12 (donc 50 cellules pour 50
tableaux) et lorsque l'on clique sur une cellule, la 1ère cellule du
tableau en haut à gauche (par ex A22) apparaisse sur l'écran en haut à
gauche ainsi de suite pour chaque cellules de chaque tableaux.
j'espère être explicite
merci de votre aide
"Daniel" a écrit dans le message de news:

Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu
cliques en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message de
news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ















Avatar
Daniel
Bonjour.
Tu mets la macro "Construction" dans un module et la macro ci-dessous dans
le code de la feuille :
clic droit sur l'onglet, chooisir "visualiser le code" et coppier la macro à
cet endroit là.
A ta disposition pour de plus amples précisions.
Cordialement.
Daniel
"olaiive" a écrit dans le message de
news:
Merci d'avoir repondu....
mais tu me dis de mettre ce code? à quel endroit?
dans Fx??


Bonjour.
Grâce à Modeste, tu peux essayer le code suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B8:K12")) Is Nothing Then Exit Sub
Select Case Target.Address
Case "$B$8"
Sheets("Feuil2").Select
ActiveSheet.Range("U300:Z310").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
Case "$B$9"
Sheets("Feuil3").Select
ActiveSheet.Range("A1:A10").Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
'etc...
End Select
End Sub
Daniel
"fredbzr" a écrit dans le message de news:
43877c21$0$19693$
Bonsoir,
je suis très intéressé par votre macro car j'ai une centaine de
tableaux
(dont parfois une quinzaine qui se suivent) et j'aurai voulu savoir si
s'était possible d'avoir par ex de b8 à k12 (donc 50 cellules pour 50
tableaux) et lorsque l'on clique sur une cellule, la 1ère cellule du
tableau en haut à gauche (par ex A22) apparaisse sur l'écran en haut à
gauche ainsi de suite pour chaque cellules de chaque tableaux.
j'espère être explicite
merci de votre aide
"Daniel" a écrit dans le message de news:

Bonjour.
Tu peux mettre le code suivant dans la feuille de départ. Lorsque tu
cliques en A1, la plage A2:C10 de "Feuil2" est sélectionnée.
Tu peux aussi créer un hyperlien (Insertion / Lien hypertexte).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Select
ActiveSheet.Range("A2:C10").Select
End Sub

Cordialement.
Daniel
"olaiive" a écrit dans le message
de
news:
Bonjour,
je souhaite créer un lien entre deux pages dans excel.
en cliquant sur une case, un tableau coorespondant apparaitrait....
comment puis-je faire?
cordialement,
OJ