Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Retour Menus

5 réponses
Avatar
Jean-Paul V
Bonjour à tous

Sachant que j’ai une TABLE qui liste les Noms de champ et les retours
souhaités:
Le champ XF100 est sur plusieurs colonnes et plusieurs lignes
MENU ; MENU2 ; MENU3 sont les noms donnés à la cellule en haut à gauche de
mes trois menus possibles

Noms de Champ Retour souhaité
XF100 MENU
XF101 MENU
XF200 MENU2
XF201 MENU3

Je souhaiterais écrire une macro RetourMenu qui lorsque la cellule active
est dans XF100 je retourne à MENU ; dans XF200 je retourne à MENU2 ; XF201 je
retourne à MENU3
Comment écrire cette macro ?

@+ j’espère

Jean-Paul V

5 réponses

Avatar
Pounet95
Bonjour,

Pas sûr d'avoir compris, mais à tout hasard
Utiliser l'évènement Worksheet_SelectionChange dans lequel la valeur de la
cible ( Target ) est récupérée.
Voir fichier joint

http://cjoint.com/?egh2UnpflQ

Pounet95

"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous

Sachant que j’ai une TABLE qui liste les Noms de champ et les retours
souhaités:
Le champ XF100 est sur plusieurs colonnes et plusieurs lignes
MENU ; MENU2 ; MENU3 sont les noms donnés à la cellule en haut à gauche de
mes trois menus possibles

Noms de Champ Retour souhaité
XF100 MENU
XF101 MENU
XF200 MENU2
XF201 MENU3

Je souhaiterais écrire une macro RetourMenu qui lorsque la cellule active
est dans XF100 je retourne à MENU ; dans XF200 je retourne à MENU2 ; XF201
je
retourne à MENU3
Comment écrire cette macro ?

@+ j’espère

Jean-Paul V


Avatar
Jean-Paul V
Bonjour
Afin de mieux m'expliquer :
J'ai cette macro d'impression qui est déclanchée par un clic sur un dessin
d'imprimante.Sachant que tous mes noms de champ sont listés dans un champ
IMPRESSIONS( 1ère col NOMS de champ ; 2ème adresse des NOMS de champ ).
Cette macro en fonction de la position de la cellule active définie le champ
à imprimer.
Cette macro marche:
Sub Impression()
Dim c As Range, Noms As Range
With Sheets("Fonctions")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 11) = "=Procédure!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Je souhaiterais récupérer le NOM du champ dans lequel la cellule active est
et en fonction de ce nom aller au menu défini par ma "TABLE" (la macro sera
déclanchée par un clic sur un dessin)
Sub Retour()
Dim c As Range, Noms As Range
With Sheets("Fonctions")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 11) = "=Procédure!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
'Application.Goto
Reference:=["=VLOOKUP([Rg].Name,TABLE,2,FALSE)"],Scroll:=True
Application.Goto Reference:=[=VLOOKUP([Rg].Name,TABLE,2,FALSE)],
Scroll:=True
End With
End Sub
ça se plante sur :
Application.Goto Reference:=["=VLOOKUP([Rg].Name,TABLE,2,FALSE)"],Scroll:=True
idem sur :
Application.Goto Reference:=[=VLOOKUP([Rg].Name,TABLE,2,FALSE)], Scroll:=True
Auriez-vous une solution ?
(NB : Je n'ai pas compris ce que faisait votre fichier)


--
Jean-Paul V


"Pounet95" wrote:

Bonjour,

Pas sûr d'avoir compris, mais à tout hasard
Utiliser l'évènement Worksheet_SelectionChange dans lequel la valeur de la
cible ( Target ) est récupérée.
Voir fichier joint

http://cjoint.com/?egh2UnpflQ

Pounet95

"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous

Sachant que j’ai une TABLE qui liste les Noms de champ et les retours
souhaités:
Le champ XF100 est sur plusieurs colonnes et plusieurs lignes
MENU ; MENU2 ; MENU3 sont les noms donnés à la cellule en haut à gauche de
mes trois menus possibles

Noms de Champ Retour souhaité
XF100 MENU
XF101 MENU
XF200 MENU2
XF201 MENU3

Je souhaiterais écrire une macro RetourMenu qui lorsque la cellule active
est dans XF100 je retourne à MENU ; dans XF200 je retourne à MENU2 ; XF201
je
retourne à MENU3
Comment écrire cette macro ?

@+ j’espère

Jean-Paul V






Avatar
Pounet95
Bonjour,

Mon fichier est un exemple de ce que j'ai compris du problème. A savoir :
En positionnant le curseur sur l'une des cellule CHx de la colonne I, la
valeur contenue dans la cellule pointée est récuoérée et recherchée dans la
plage nommée MaTable.
Si la valeur est trouvée, alors on récupère le nom du menu dans la cellule
juste à droite et le curseur est alors positionné sur le menu correspondant.

Est-ce OK ?
Bonne journée
Pounet95

"Jean-Paul V" a écrit dans le message
de news:
Bonjour
Afin de mieux m'expliquer :
J'ai cette macro d'impression qui est déclanchée par un clic sur un dessin
d'imprimante.Sachant que tous mes noms de champ sont listés dans un champ
IMPRESSIONS( 1ère col NOMS de champ ; 2ème adresse des NOMS de champ ).
Cette macro en fonction de la position de la cellule active définie le
champ
à imprimer.
Cette macro marche:
Sub Impression()
Dim c As Range, Noms As Range
With Sheets("Fonctions")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 11) = "=Procédure!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Je souhaiterais récupérer le NOM du champ dans lequel la cellule active
est
et en fonction de ce nom aller au menu défini par ma "TABLE" (la macro
sera
déclanchée par un clic sur un dessin)
Sub Retour()
Dim c As Range, Noms As Range
With Sheets("Fonctions")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 11) = "=Procédure!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
'Application.Goto
Reference:=["=VLOOKUP([Rg].Name,TABLE,2,FALSE)"],Scroll:=True
Application.Goto Reference:=[=VLOOKUP([Rg].Name,TABLE,2,FALSE)],
Scroll:=True
End With
End Sub
ça se plante sur :
Application.Goto
Reference:=["=VLOOKUP([Rg].Name,TABLE,2,FALSE)"],Scroll:=True
idem sur :
Application.Goto Reference:=[=VLOOKUP([Rg].Name,TABLE,2,FALSE)],
Scroll:=True
Auriez-vous une solution ?
(NB : Je n'ai pas compris ce que faisait votre fichier)


--
Jean-Paul V


"Pounet95" wrote:

Bonjour,

Pas sûr d'avoir compris, mais à tout hasard
Utiliser l'évènement Worksheet_SelectionChange dans lequel la valeur de
la
cible ( Target ) est récupérée.
Voir fichier joint

http://cjoint.com/?egh2UnpflQ

Pounet95

"Jean-Paul V" a écrit dans le
message
de news:
Bonjour à tous

Sachant que j’ai une TABLE qui liste les Noms de champ et les retours
souhaités:
Le champ XF100 est sur plusieurs colonnes et plusieurs lignes
MENU ; MENU2 ; MENU3 sont les noms donnés à la cellule en haut à gauche
de
mes trois menus possibles

Noms de Champ Retour souhaité
XF100 MENU
XF101 MENU
XF200 MENU2
XF201 MENU3

Je souhaiterais écrire une macro RetourMenu qui lorsque la cellule
active
est dans XF100 je retourne à MENU ; dans XF200 je retourne à MENU2 ;
XF201
je
retourne à MENU3
Comment écrire cette macro ?

@+ j’espère

Jean-Paul V








Avatar
Jean-Paul V
Bonjour à tous,

Votre fichier fonctionne bien au bureau mais pas chez moi.

De toute façon cela ne correspond pas exactement à ce que je veux faire.

J’ai une liste de Noms de champ colonne1 et leurs adresses respectives
colonne2.
Cette liste a été crée en faisant Insertion Nom Coller Coller une liste
. j’ai nommé ce champ IMPRESSIONS.
1)Lorsque j’appelle ma macro je souhaite qu’elle me dise dans quel champ est
la cellule active et quel est le Nom du champ.
2)Par ailleurs j’ai une autre Table avec colonne 1 les Noms de Champ et
colonne2 le menu où l’on doit aller.J’ai appelé ce champ TABLE.
Connaissant le Nom du champ dans lequel est la cellule active je veux
atteindre le bon Menu défini par TABLE

Par exemple si ma cellule active est dans le champ nommé XF101 ( attention
ce champ a plusieurs lignes et plusieurs colonne ) je veux aller à la cellule
nommé Menu et la placer en haut et à gauche .
Si la cellule est dans le champ XF200 je veux aller à Menu2
@+ j’espère

--
Jean-Paul V


"Pounet95" wrote:

Bonjour,

Mon fichier est un exemple de ce que j'ai compris du problème. A savoir :
En positionnant le curseur sur l'une des cellule CHx de la colonne I, la
valeur contenue dans la cellule pointée est récuoérée et recherchée dans la
plage nommée MaTable.
Si la valeur est trouvée, alors on récupère le nom du menu dans la cellule
juste à droite et le curseur est alors positionné sur le menu correspondant.

Est-ce OK ?
Bonne journée
Pounet95

"Jean-Paul V" a écrit dans le message
de news:
Bonjour
Afin de mieux m'expliquer :
J'ai cette macro d'impression qui est déclanchée par un clic sur un dessin
d'imprimante.Sachant que tous mes noms de champ sont listés dans un champ
IMPRESSIONS( 1ère col NOMS de champ ; 2ème adresse des NOMS de champ ).
Cette macro en fonction de la position de la cellule active définie le
champ
à imprimer.
Cette macro marche:
Sub Impression()
Dim c As Range, Noms As Range
With Sheets("Fonctions")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 11) = "=Procédure!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Je souhaiterais récupérer le NOM du champ dans lequel la cellule active
est
et en fonction de ce nom aller au menu défini par ma "TABLE" (la macro
sera
déclanchée par un clic sur un dessin)
Sub Retour()
Dim c As Range, Noms As Range
With Sheets("Fonctions")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 11) = "=Procédure!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
'Application.Goto
Reference:=["=VLOOKUP([Rg].Name,TABLE,2,FALSE)"],Scroll:=True
Application.Goto Reference:=[=VLOOKUP([Rg].Name,TABLE,2,FALSE)],
Scroll:=True
End With
End Sub
ça se plante sur :
Application.Goto
Reference:=["=VLOOKUP([Rg].Name,TABLE,2,FALSE)"],Scroll:=True
idem sur :
Application.Goto Reference:=[=VLOOKUP([Rg].Name,TABLE,2,FALSE)],
Scroll:=True
Auriez-vous une solution ?
(NB : Je n'ai pas compris ce que faisait votre fichier)


--
Jean-Paul V


"Pounet95" wrote:

Bonjour,

Pas sûr d'avoir compris, mais à tout hasard
Utiliser l'évènement Worksheet_SelectionChange dans lequel la valeur de
la
cible ( Target ) est récupérée.
Voir fichier joint

http://cjoint.com/?egh2UnpflQ

Pounet95

"Jean-Paul V" a écrit dans le
message
de news:
Bonjour à tous

Sachant que j’ai une TABLE qui liste les Noms de champ et les retours
souhaités:
Le champ XF100 est sur plusieurs colonnes et plusieurs lignes
MENU ; MENU2 ; MENU3 sont les noms donnés à la cellule en haut à gauche
de
mes trois menus possibles

Noms de Champ Retour souhaité
XF100 MENU
XF101 MENU
XF200 MENU2
XF201 MENU3

Je souhaiterais écrire une macro RetourMenu qui lorsque la cellule
active
est dans XF100 je retourne à MENU ; dans XF200 je retourne à MENU2 ;
XF201
je
retourne à MENU3
Comment écrire cette macro ?

@+ j’espère

Jean-Paul V












Avatar
Pounet95
Bonjour,

Je pensais avoir compris le problème, mais visiblement non !

Afin de ne pas mettre définitivement la balle en touche, peut-être une piste
avec l'utilisation
de l'instruction Intersect ( taper le mot dans l'éditeur VBA, le
sélectionner et faire F1 pour atteindre l'aide ). Avec les explications
données et accessoirement mon fichier exemple à adpter aux besoins, ça
devrait avancer.
Sinon, il y aura bien queques autres bénévoles de ce forum pour comprendre
mieux que moi le pb et y répondre.
Désolé de ne pouvoir faire mieux faute de temps surtout !
Pounet95


"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous,

Votre fichier fonctionne bien au bureau mais pas chez moi.

De toute façon cela ne correspond pas exactement à ce que je veux faire.

J’ai une liste de Noms de champ colonne1 et leurs adresses respectives
colonne2.
Cette liste a été crée en faisant Insertion Nom Coller Coller une
liste
. j’ai nommé ce champ IMPRESSIONS.
1)Lorsque j’appelle ma macro je souhaite qu’elle me dise dans quel champ
est
la cellule active et quel est le Nom du champ.
2)Par ailleurs j’ai une autre Table avec colonne 1 les Noms de Champ et
colonne2 le menu où l’on doit aller.J’ai appelé ce champ TABLE.
Connaissant le Nom du champ dans lequel est la cellule active je veux
atteindre le bon Menu défini par TABLE

Par exemple si ma cellule active est dans le champ nommé XF101 (
attention
ce champ a plusieurs lignes et plusieurs colonne ) je veux aller à la
cellule
nommé Menu et la placer en haut et à gauche .
Si la cellule est dans le champ XF200 je veux aller à Menu2
@+ j’espère

--
Jean-Paul V


"Pounet95" wrote:

Bonjour,

Mon fichier est un exemple de ce que j'ai compris du problème. A savoir :
En positionnant le curseur sur l'une des cellule CHx de la colonne I, la
valeur contenue dans la cellule pointée est récuoérée et recherchée dans
la
plage nommée MaTable.
Si la valeur est trouvée, alors on récupère le nom du menu dans la
cellule
juste à droite et le curseur est alors positionné sur le menu
correspondant.

Est-ce OK ?
Bonne journée
Pounet95

"Jean-Paul V" a écrit dans le
message
de news:
Bonjour
Afin de mieux m'expliquer :
J'ai cette macro d'impression qui est déclanchée par un clic sur un
dessin
d'imprimante.Sachant que tous mes noms de champ sont listés dans un
champ
IMPRESSIONS( 1ère col NOMS de champ ; 2ème adresse des NOMS de champ ).
Cette macro en fonction de la position de la cellule active définie le
champ
à imprimer.
Cette macro marche:
Sub Impression()
Dim c As Range, Noms As Range
With Sheets("Fonctions")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 11) = "=Procédure!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Je souhaiterais récupérer le NOM du champ dans lequel la cellule active
est
et en fonction de ce nom aller au menu défini par ma "TABLE" (la macro
sera
déclanchée par un clic sur un dessin)
Sub Retour()
Dim c As Range, Noms As Range
With Sheets("Fonctions")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 11) = "=Procédure!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
'Application.Goto
Reference:=["=VLOOKUP([Rg].Name,TABLE,2,FALSE)"],Scroll:=True
Application.Goto Reference:=[=VLOOKUP([Rg].Name,TABLE,2,FALSE)],
Scroll:=True
End With
End Sub
ça se plante sur :
Application.Goto
Reference:=["=VLOOKUP([Rg].Name,TABLE,2,FALSE)"],Scroll:=True
idem sur :
Application.Goto Reference:=[=VLOOKUP([Rg].Name,TABLE,2,FALSE)],
Scroll:=True
Auriez-vous une solution ?
(NB : Je n'ai pas compris ce que faisait votre fichier)


--
Jean-Paul V


"Pounet95" wrote:

Bonjour,

Pas sûr d'avoir compris, mais à tout hasard
Utiliser l'évènement Worksheet_SelectionChange dans lequel la valeur
de
la
cible ( Target ) est récupérée.
Voir fichier joint

http://cjoint.com/?egh2UnpflQ

Pounet95

"Jean-Paul V" a écrit dans le
message
de news:
Bonjour à tous

Sachant que j’ai une TABLE qui liste les Noms de champ et les
retours
souhaités:
Le champ XF100 est sur plusieurs colonnes et plusieurs lignes
MENU ; MENU2 ; MENU3 sont les noms donnés à la cellule en haut à
gauche
de
mes trois menus possibles

Noms de Champ Retour souhaité
XF100 MENU
XF101 MENU
XF200 MENU2
XF201 MENU3

Je souhaiterais écrire une macro RetourMenu qui lorsque la cellule
active
est dans XF100 je retourne à MENU ; dans XF200 je retourne à MENU2 ;
XF201
je
retourne à MENU3
Comment écrire cette macro ?

@+ j’espère

Jean-Paul V