je dois renvoyer en VBA un certain nombre d'actions selon les cellules
activ=E9es. Voici ce que j'ai fait jusqu'=E0 pr=E9sent et qui fonctionne
parfaitement :
'd=E9claration de la variable et des conditions
Mavar =3D Target.Address
Select Case UCase(Mavar)
' --------- RETOUR ACCUEIL --------- '
Case Is =3D UCase("$B$4")
Call masquer
Range("A1").Select
ce que j'aimerai c'est, plut=F4t que de saisir la r=E9f=E9rence en relatif,
passer en absolu avec une r=E9f=E9rence de cellule : choix1. J'ai donc
essay=E9 na=EFvement ceci et biens=FBr cela ne marche pas :
'd=E9claration de la variable et des conditions
Mavar =3D Target.name
Select Case UCase(Mavar)
' --------- RETOUR ACCUEIL --------- '
Case Is =3D UCase("choix1")
Call masquer
Range("A1").Select
> pour la suite si les adresses ne sont pas liées à un décalage de la > première cellule idem avec titi ..tutu
> Sinon je ne te suis pas du tout dans la nécessité de cette mét hode > outre mon ignorance du but de la manoeuvre... > Si on connaissait le contexte et l'objectif j'ai la vive intuition > qu'il y aurait bien plus simple .. > ;-) mais on peut se tromper!
> Cordialement.
> -- > lSteph
> On 9 juin, 17:01, BV wrote:
> > On 9 juin, 16:50, wrote:
> > > Si j'ai bien compris:
> > > Case is = [toto].Address
> > > '... > > > Case is =[toto].offset(2,0).Address > > > Call NotaBene
> > > '... > > > Case is =[toto].offset(3,0).Address > > > Call > > > ...etc
> > > 'lSteph
> > En fait je veux remplacer simplement dans la ligne : Case Is = UCas e > > ("$B$4") > > la référence et mettre par exemple : Case Is = UCase("toto") > > en fait j'aimerai faire
> > Mavar = Target.Address > > Select Case UCase(Mavar)
> > ' --------- RETOUR ACCUEIL --------- ' > > Case Is = UCase("toto") > > Call masquer
> > Case Is = UCase("tata") > > Call afficher
> > Case Is = UCase("titi") > > Call souligner
> > end select > > end case
Bonsoir à tous et encore 1000 fois merci, la solution de gmlst fonctionne
en fait ce que j'essaie de faire c'est d'écrire un bout de code sur une feuille qui me permette de définir des actions : (call mon action) en fonction des cellules qui seront activées
exemple : je clique en B4 (cellule que j'ai nommé toto) je lance une action je clique en B15 (cellule que j'ai nommée tata) je lance une autre action
le code que je vous ai envoyé au début fonctionne parfaitement mais avec des références de cellule relatives pour pouvoir déplacer mes cellules comme bon me semble je souhaite passer ces références en absolu
et c'est là que cela se compliquait
merci encore pour votre aide
merci encore à tous pour votre aide cela marche très bien
On 9 juin, 17:31, BV <agir...@gmail.com> wrote:
On 9 juin, 17:22, gmlst...@gmail.com wrote:
> même réponse et pas besoin de Ucase
> Case is = [toto].Address
> pour la suite si les adresses ne sont pas liées à un décalage de la
> première cellule idem avec titi ..tutu
> Sinon je ne te suis pas du tout dans la nécessité de cette mét hode
> outre mon ignorance du but de la manoeuvre...
> Si on connaissait le contexte et l'objectif j'ai la vive intuition
> qu'il y aurait bien plus simple ..
> ;-) mais on peut se tromper!
> Cordialement.
> --
> lSteph
> On 9 juin, 17:01, BV <agir...@gmail.com> wrote:
> > On 9 juin, 16:50, gmlst...@gmail.com wrote:
> > > Si j'ai bien compris:
> > > Case is = [toto].Address
> > > '...
> > > Case is =[toto].offset(2,0).Address
> > > Call NotaBene
> > > '...
> > > Case is =[toto].offset(3,0).Address
> > > Call
> > > ...etc
> > > 'lSteph
> > En fait je veux remplacer simplement dans la ligne : Case Is = UCas e
> > ("$B$4")
> > la référence et mettre par exemple : Case Is = UCase("toto")
> > en fait j'aimerai faire
> > Mavar = Target.Address
> > Select Case UCase(Mavar)
> > ' --------- RETOUR ACCUEIL --------- '
> > Case Is = UCase("toto")
> > Call masquer
> > Case Is = UCase("tata")
> > Call afficher
> > Case Is = UCase("titi")
> > Call souligner
> > end select
> > end case
Bonsoir à tous et encore 1000 fois merci, la solution de gmlst
fonctionne
en fait ce que j'essaie de faire c'est d'écrire un bout de code sur
une feuille
qui me permette de définir des actions : (call mon action) en fonction
des cellules qui seront activées
exemple :
je clique en B4 (cellule que j'ai nommé toto) je lance une action
je clique en B15 (cellule que j'ai nommée tata) je lance une autre
action
le code que je vous ai envoyé au début fonctionne parfaitement mais
avec des références de cellule relatives
pour pouvoir déplacer mes cellules comme bon me semble je souhaite
passer ces références en absolu
et c'est là que cela se compliquait
merci encore pour votre aide
merci encore à tous pour votre aide
cela marche très bien
> pour la suite si les adresses ne sont pas liées à un décalage de la > première cellule idem avec titi ..tutu
> Sinon je ne te suis pas du tout dans la nécessité de cette mét hode > outre mon ignorance du but de la manoeuvre... > Si on connaissait le contexte et l'objectif j'ai la vive intuition > qu'il y aurait bien plus simple .. > ;-) mais on peut se tromper!
> Cordialement.
> -- > lSteph
> On 9 juin, 17:01, BV wrote:
> > On 9 juin, 16:50, wrote:
> > > Si j'ai bien compris:
> > > Case is = [toto].Address
> > > '... > > > Case is =[toto].offset(2,0).Address > > > Call NotaBene
> > > '... > > > Case is =[toto].offset(3,0).Address > > > Call > > > ...etc
> > > 'lSteph
> > En fait je veux remplacer simplement dans la ligne : Case Is = UCas e > > ("$B$4") > > la référence et mettre par exemple : Case Is = UCase("toto") > > en fait j'aimerai faire
> > Mavar = Target.Address > > Select Case UCase(Mavar)
> > ' --------- RETOUR ACCUEIL --------- ' > > Case Is = UCase("toto") > > Call masquer
> > Case Is = UCase("tata") > > Call afficher
> > Case Is = UCase("titi") > > Call souligner
> > end select > > end case
Bonsoir à tous et encore 1000 fois merci, la solution de gmlst fonctionne
en fait ce que j'essaie de faire c'est d'écrire un bout de code sur une feuille qui me permette de définir des actions : (call mon action) en fonction des cellules qui seront activées
exemple : je clique en B4 (cellule que j'ai nommé toto) je lance une action je clique en B15 (cellule que j'ai nommée tata) je lance une autre action
le code que je vous ai envoyé au début fonctionne parfaitement mais avec des références de cellule relatives pour pouvoir déplacer mes cellules comme bon me semble je souhaite passer ces références en absolu
et c'est là que cela se compliquait
merci encore pour votre aide
merci encore à tous pour votre aide cela marche très bien
isabelle
bonjour Bv,
Target.Name retourne la valeur de la référence d'un nom et non à son nom il faut pour cela passer par la collection Names
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each nm In ThisWorkbook.Names MsgBox "nm.RefersTo = " & nm.RefersTo MsgBox "Target.Name = " & Target.Name If nm.RefersTo = Target.Name Then MsgBox UCase(nm.Name) Next End Sub
isabelle
BV a écrit :
On 9 juin, 17:22, wrote:
même réponse et pas besoin de Ucase
Case is = [toto].Address
pour la suite si les adresses ne sont pas liées à un décalage de la première cellule idem avec titi ..tutu
Sinon je ne te suis pas du tout dans la nécessité de cette méthode outre mon ignorance du but de la manoeuvre... Si on connaissait le contexte et l'objectif j'ai la vive intuition qu'il y aurait bien plus simple .. ;-) mais on peut se tromper!
Cordialement.
-- lSteph
On 9 juin, 17:01, BV wrote:
On 9 juin, 16:50, wrote:
Si j'ai bien compris:
Case is = [toto].Address
'... Case is =[toto].offset(2,0).Address Call NotaBene
'... Case is =[toto].offset(3,0).Address Call ...etc
'lSteph
En fait je veux remplacer simplement dans la ligne : Case Is = UCase ("$B$4") la référence et mettre par exemple : Case Is = UCase("toto") en fait j'aimerai faire
Mavar = Target.Address Select Case UCase(Mavar)
' --------- RETOUR ACCUEIL --------- ' Case Is = UCase("toto") Call masquer
Case Is = UCase("tata") Call afficher
Case Is = UCase("titi") Call souligner
end select end case
Bonsoir à tous et encore 1000 fois merci, la solution de gmlst fonctionne
en fait ce que j'essaie de faire c'est d'écrire un bout de code sur une feuille qui me permette de définir des actions : (call mon action) en fonction des cellules qui seront activées
exemple : je clique en B4 (cellule que j'ai nommé toto) je lance une action je clique en B15 (cellule que j'ai nommée tata) je lance une autre action
le code que je vous ai envoyé au début fonctionne parfaitement mais avec des références de cellule relatives pour pouvoir déplacer mes cellules comme bon me semble je souhaite passer ces références en absolu
et c'est là que cela se compliquait
merci encore pour votre aide
bonjour Bv,
Target.Name retourne la valeur de la référence d'un nom et non à son nom
il faut pour cela passer par la collection Names
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each nm In ThisWorkbook.Names
MsgBox "nm.RefersTo = " & nm.RefersTo
MsgBox "Target.Name = " & Target.Name
If nm.RefersTo = Target.Name Then MsgBox UCase(nm.Name)
Next
End Sub
isabelle
BV a écrit :
On 9 juin, 17:22, gmlst...@gmail.com wrote:
même réponse et pas besoin de Ucase
Case is = [toto].Address
pour la suite si les adresses ne sont pas liées à un décalage de la
première cellule idem avec titi ..tutu
Sinon je ne te suis pas du tout dans la nécessité de cette méthode
outre mon ignorance du but de la manoeuvre...
Si on connaissait le contexte et l'objectif j'ai la vive intuition
qu'il y aurait bien plus simple ..
;-) mais on peut se tromper!
Cordialement.
--
lSteph
On 9 juin, 17:01, BV <agir...@gmail.com> wrote:
On 9 juin, 16:50, gmlst...@gmail.com wrote:
Si j'ai bien compris:
Case is = [toto].Address
'...
Case is =[toto].offset(2,0).Address
Call NotaBene
'...
Case is =[toto].offset(3,0).Address
Call
...etc
'lSteph
En fait je veux remplacer simplement dans la ligne : Case Is = UCase
("$B$4")
la référence et mettre par exemple : Case Is = UCase("toto")
en fait j'aimerai faire
Mavar = Target.Address
Select Case UCase(Mavar)
' --------- RETOUR ACCUEIL --------- '
Case Is = UCase("toto")
Call masquer
Case Is = UCase("tata")
Call afficher
Case Is = UCase("titi")
Call souligner
end select
end case
Bonsoir à tous et encore 1000 fois merci, la solution de gmlst
fonctionne
en fait ce que j'essaie de faire c'est d'écrire un bout de code sur
une feuille
qui me permette de définir des actions : (call mon action) en fonction
des cellules qui seront activées
exemple :
je clique en B4 (cellule que j'ai nommé toto) je lance une action
je clique en B15 (cellule que j'ai nommée tata) je lance une autre
action
le code que je vous ai envoyé au début fonctionne parfaitement mais
avec des références de cellule relatives
pour pouvoir déplacer mes cellules comme bon me semble je souhaite
passer ces références en absolu
Target.Name retourne la valeur de la référence d'un nom et non à son nom il faut pour cela passer par la collection Names
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each nm In ThisWorkbook.Names MsgBox "nm.RefersTo = " & nm.RefersTo MsgBox "Target.Name = " & Target.Name If nm.RefersTo = Target.Name Then MsgBox UCase(nm.Name) Next End Sub
isabelle
BV a écrit :
On 9 juin, 17:22, wrote:
même réponse et pas besoin de Ucase
Case is = [toto].Address
pour la suite si les adresses ne sont pas liées à un décalage de la première cellule idem avec titi ..tutu
Sinon je ne te suis pas du tout dans la nécessité de cette méthode outre mon ignorance du but de la manoeuvre... Si on connaissait le contexte et l'objectif j'ai la vive intuition qu'il y aurait bien plus simple .. ;-) mais on peut se tromper!
Cordialement.
-- lSteph
On 9 juin, 17:01, BV wrote:
On 9 juin, 16:50, wrote:
Si j'ai bien compris:
Case is = [toto].Address
'... Case is =[toto].offset(2,0).Address Call NotaBene
'... Case is =[toto].offset(3,0).Address Call ...etc
'lSteph
En fait je veux remplacer simplement dans la ligne : Case Is = UCase ("$B$4") la référence et mettre par exemple : Case Is = UCase("toto") en fait j'aimerai faire
Mavar = Target.Address Select Case UCase(Mavar)
' --------- RETOUR ACCUEIL --------- ' Case Is = UCase("toto") Call masquer
Case Is = UCase("tata") Call afficher
Case Is = UCase("titi") Call souligner
end select end case
Bonsoir à tous et encore 1000 fois merci, la solution de gmlst fonctionne
en fait ce que j'essaie de faire c'est d'écrire un bout de code sur une feuille qui me permette de définir des actions : (call mon action) en fonction des cellules qui seront activées
exemple : je clique en B4 (cellule que j'ai nommé toto) je lance une action je clique en B15 (cellule que j'ai nommée tata) je lance une autre action
le code que je vous ai envoyé au début fonctionne parfaitement mais avec des références de cellule relatives pour pouvoir déplacer mes cellules comme bon me semble je souhaite passer ces références en absolu
et c'est là que cela se compliquait
merci encore pour votre aide
BV
On 9 juin, 18:06, isabelle wrote:
bonjour Bv,
Target.Name retourne la valeur de la référence d'un nom et non à so n nom il faut pour cela passer par la collection Names
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each nm In ThisWorkbook.Names MsgBox "nm.RefersTo = " & nm.RefersTo MsgBox "Target.Name = " & Target.Name If nm.RefersTo = Target.Name Then MsgBox UCase(nm.Name) Next End Sub
isabelle
BV a écrit :
> On 9 juin, 17:22, wrote:
>> même réponse et pas besoin de Ucase
>> Case is = [toto].Address
>> pour la suite si les adresses ne sont pas liées à un décalage de la >> première cellule idem avec titi ..tutu
>> Sinon je ne te suis pas du tout dans la nécessité de cette mé thode >> outre mon ignorance du but de la manoeuvre... >> Si on connaissait le contexte et l'objectif j'ai la vive intuition >> qu'il y aurait bien plus simple .. >> ;-) mais on peut se tromper!
>> Cordialement.
>> -- >> lSteph
>> On 9 juin, 17:01, BV wrote:
>>> On 9 juin, 16:50, wrote:
>>>> Si j'ai bien compris:
>>>> Case is = [toto].Address
>>>> '... >>>> Case is =[toto].offset(2,0).Address >>>> Call NotaBene
>>>> '... >>>> Case is =[toto].offset(3,0).Address >>>> Call >>>> ...etc
>>>> 'lSteph
>>> En fait je veux remplacer simplement dans la ligne : Case Is = UCas e >>> ("$B$4") >>> la référence et mettre par exemple : Case Is = UCase("toto") >>> en fait j'aimerai faire
>>> Mavar = Target.Address >>> Select Case UCase(Mavar)
>>> ' --------- RETOUR ACCUEIL --------- ' >>> Case Is = UCase("toto") >>> Call masquer
>>> Case Is = UCase("tata") >>> Call afficher
>>> Case Is = UCase("titi") >>> Call souligner
>>> end select >>> end case
> Bonsoir à tous et encore 1000 fois merci, la solution de gmlst > fonctionne
> en fait ce que j'essaie de faire c'est d'écrire un bout de code sur > une feuille > qui me permette de définir des actions : (call mon action) en fonctio n > des cellules qui seront activées
> exemple : > je clique en B4 (cellule que j'ai nommé toto) je lance une action > je clique en B15 (cellule que j'ai nommée tata) je lance une autre > action
> le code que je vous ai envoyé au début fonctionne parfaitement mais > avec des références de cellule relatives > pour pouvoir déplacer mes cellules comme bon me semble je souhaite > passer ces références en absolu
> et c'est là que cela se compliquait
> merci encore pour votre aide
si avec toutes ces explications je ne le fais pas les yeux fermés :) merci encore pour tout
On 9 juin, 18:06, isabelle <i@v> wrote:
bonjour Bv,
Target.Name retourne la valeur de la référence d'un nom et non à so n nom
il faut pour cela passer par la collection Names
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each nm In ThisWorkbook.Names
MsgBox "nm.RefersTo = " & nm.RefersTo
MsgBox "Target.Name = " & Target.Name
If nm.RefersTo = Target.Name Then MsgBox UCase(nm.Name)
Next
End Sub
isabelle
BV a écrit :
> On 9 juin, 17:22, gmlst...@gmail.com wrote:
>> même réponse et pas besoin de Ucase
>> Case is = [toto].Address
>> pour la suite si les adresses ne sont pas liées à un décalage de la
>> première cellule idem avec titi ..tutu
>> Sinon je ne te suis pas du tout dans la nécessité de cette mé thode
>> outre mon ignorance du but de la manoeuvre...
>> Si on connaissait le contexte et l'objectif j'ai la vive intuition
>> qu'il y aurait bien plus simple ..
>> ;-) mais on peut se tromper!
>> Cordialement.
>> --
>> lSteph
>> On 9 juin, 17:01, BV <agir...@gmail.com> wrote:
>>> On 9 juin, 16:50, gmlst...@gmail.com wrote:
>>>> Si j'ai bien compris:
>>>> Case is = [toto].Address
>>>> '...
>>>> Case is =[toto].offset(2,0).Address
>>>> Call NotaBene
>>>> '...
>>>> Case is =[toto].offset(3,0).Address
>>>> Call
>>>> ...etc
>>>> 'lSteph
>>> En fait je veux remplacer simplement dans la ligne : Case Is = UCas e
>>> ("$B$4")
>>> la référence et mettre par exemple : Case Is = UCase("toto")
>>> en fait j'aimerai faire
>>> Mavar = Target.Address
>>> Select Case UCase(Mavar)
>>> ' --------- RETOUR ACCUEIL --------- '
>>> Case Is = UCase("toto")
>>> Call masquer
>>> Case Is = UCase("tata")
>>> Call afficher
>>> Case Is = UCase("titi")
>>> Call souligner
>>> end select
>>> end case
> Bonsoir à tous et encore 1000 fois merci, la solution de gmlst
> fonctionne
> en fait ce que j'essaie de faire c'est d'écrire un bout de code sur
> une feuille
> qui me permette de définir des actions : (call mon action) en fonctio n
> des cellules qui seront activées
> exemple :
> je clique en B4 (cellule que j'ai nommé toto) je lance une action
> je clique en B15 (cellule que j'ai nommée tata) je lance une autre
> action
> le code que je vous ai envoyé au début fonctionne parfaitement mais
> avec des références de cellule relatives
> pour pouvoir déplacer mes cellules comme bon me semble je souhaite
> passer ces références en absolu
> et c'est là que cela se compliquait
> merci encore pour votre aide
si avec toutes ces explications je ne le fais pas les yeux fermés :)
merci encore pour tout
Target.Name retourne la valeur de la référence d'un nom et non à so n nom il faut pour cela passer par la collection Names
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each nm In ThisWorkbook.Names MsgBox "nm.RefersTo = " & nm.RefersTo MsgBox "Target.Name = " & Target.Name If nm.RefersTo = Target.Name Then MsgBox UCase(nm.Name) Next End Sub
isabelle
BV a écrit :
> On 9 juin, 17:22, wrote:
>> même réponse et pas besoin de Ucase
>> Case is = [toto].Address
>> pour la suite si les adresses ne sont pas liées à un décalage de la >> première cellule idem avec titi ..tutu
>> Sinon je ne te suis pas du tout dans la nécessité de cette mé thode >> outre mon ignorance du but de la manoeuvre... >> Si on connaissait le contexte et l'objectif j'ai la vive intuition >> qu'il y aurait bien plus simple .. >> ;-) mais on peut se tromper!
>> Cordialement.
>> -- >> lSteph
>> On 9 juin, 17:01, BV wrote:
>>> On 9 juin, 16:50, wrote:
>>>> Si j'ai bien compris:
>>>> Case is = [toto].Address
>>>> '... >>>> Case is =[toto].offset(2,0).Address >>>> Call NotaBene
>>>> '... >>>> Case is =[toto].offset(3,0).Address >>>> Call >>>> ...etc
>>>> 'lSteph
>>> En fait je veux remplacer simplement dans la ligne : Case Is = UCas e >>> ("$B$4") >>> la référence et mettre par exemple : Case Is = UCase("toto") >>> en fait j'aimerai faire
>>> Mavar = Target.Address >>> Select Case UCase(Mavar)
>>> ' --------- RETOUR ACCUEIL --------- ' >>> Case Is = UCase("toto") >>> Call masquer
>>> Case Is = UCase("tata") >>> Call afficher
>>> Case Is = UCase("titi") >>> Call souligner
>>> end select >>> end case
> Bonsoir à tous et encore 1000 fois merci, la solution de gmlst > fonctionne
> en fait ce que j'essaie de faire c'est d'écrire un bout de code sur > une feuille > qui me permette de définir des actions : (call mon action) en fonctio n > des cellules qui seront activées
> exemple : > je clique en B4 (cellule que j'ai nommé toto) je lance une action > je clique en B15 (cellule que j'ai nommée tata) je lance une autre > action
> le code que je vous ai envoyé au début fonctionne parfaitement mais > avec des références de cellule relatives > pour pouvoir déplacer mes cellules comme bon me semble je souhaite > passer ces références en absolu
> et c'est là que cela se compliquait
> merci encore pour votre aide
si avec toutes ces explications je ne le fais pas les yeux fermés :) merci encore pour tout