Probleme avec Ucase

Le
BV
Bonjour à tous

je dois renvoyer en VBA un certain nombre d'actions selon les cellules
activées. Voici ce que j'ai fait jusqu'à présent et qui fonctionne
parfaitement :

'déclaration de la variable et des conditions
Mavar = Target.Address
Select Case UCase(Mavar)

' RETOUR ACCUEIL '
Case Is = UCase("$B$4")
Call masquer
Range("A1").Select

ce que j'aimerai c'est, plutôt que de saisir la référence en relatif,
passer en absolu avec une référence de cellule : choix1. J'ai donc
essayé naïvement ceci et biensûr cela ne marche pas :

'déclaration de la variable et des conditions
Mavar = Target.name
Select Case UCase(Mavar)

' RETOUR ACCUEIL '
Case Is = UCase("choix1")
Call masquer
Range("A1").Select

pourriez-vous me donner une piste svp ?

Merci d'avance

BV
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #19525211
Salut à toi

Que veux tu dire par :

passer en absolu avec une référence de cellule : choix1 ????

Tu peux mettre :

Case Is = UCase(Range("A1"))

Et en cellule A1 de la feuille active : $B$4 ou autre

Ce qui revient à :

Case Is = UCase("$B$4")

Mais je ne sais pas si celà correspond à ton attente

Merci de préciser
gmlsteph
Le #19525021
Bonjour,

Le second Ucase n'était pas indispensable mais le devient si choix il
y a
si choix est une variable ..pas mettre de guillemets
Peux tu préciser comment tu envisages que soit fait ce choix?
Le début et fin du bout de code serait urtile pour le
contexte ..variables ..private sub ..sur quel évennement...etc

--
lSteph


On 9 juin, 15:33, BV
Bonjour à tous

je dois renvoyer en VBA un certain nombre d'actions selon les cellules
activées. Voici ce que j'ai fait jusqu'à présent et qui fonctionne
parfaitement :

'déclaration de la variable et des conditions
Mavar = Target.Address
Select Case UCase(Mavar)

' --------- RETOUR ACCUEIL    --------- '
Case Is = UCase("$B$4")
Call masquer
Range("A1").Select

ce que j'aimerai c'est, plutôt que de saisir la référence en relati f,
passer en absolu avec une référence de cellule : choix1. J'ai donc
essayé naïvement ceci et biensûr cela ne marche pas :

'déclaration de la variable et des conditions
Mavar = Target.name
Select Case UCase(Mavar)

' --------- RETOUR ACCUEIL    --------- '
Case Is = UCase("choix1")
Call masquer
Range("A1").Select

pourriez-vous me donner une piste svp ?

Merci d'avance

BV


BV
Le #19525011
On 9 juin, 15:57, wrote:
Bonjour,

Le second Ucase n'était pas indispensable mais le devient si choix il
y a
si choix est une variable ..pas mettre de guillemets
Peux tu préciser  comment tu envisages  que soit  fait ce choix?
Le début et fin du bout de code serait urtile pour le
contexte ..variables ..private sub ..sur quel évennement...etc

--
lSteph

On 9 juin, 15:33, BV
> Bonjour à tous

> je dois renvoyer en VBA un certain nombre d'actions selon les cellules
> activées. Voici ce que j'ai fait jusqu'à présent et qui fonctionn e
> parfaitement :

> 'déclaration de la variable et des conditions
> Mavar = Target.Address
> Select Case UCase(Mavar)

> ' --------- RETOUR ACCUEIL    --------- '
> Case Is = UCase("$B$4")
> Call masquer
> Range("A1").Select

> ce que j'aimerai c'est, plutôt que de saisir la référence en rela tif,
> passer en absolu avec une référence de cellule : choix1. J'ai donc
> essayé naïvement ceci et biensûr cela ne marche pas :

> 'déclaration de la variable et des conditions
> Mavar = Target.name
> Select Case UCase(Mavar)

> ' --------- RETOUR ACCUEIL    --------- '
> Case Is = UCase("choix1")
> Call masquer
> Range("A1").Select

> pourriez-vous me donner une piste svp ?

> Merci d'avance

> BV



désolé voici le début et la fin :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'
'déclaration de la variable et des conditions
Mavar = Target.Address
Select Case UCase(Mavar)

' --------- RETOUR ACCUEIL --------- '
Case Is = UCase("$B$4")
Call masquer
Range("A1").Select


' --------- GESTION DES MENUS --------- '

'Affichage du Menu NotaBene
Case Is = UCase("$B$6")
Call NotaBene
'Affichage du Menu Introduction Générale
Case Is = UCase("$B$7")
Call Intro
'Affichage du Menu Montage
Case Is = UCase("$B$8")
Call Montage
'Affichage du Menu Fonctionnement
Case Is = UCase("$B$9")

End select
End sub
BV
Le #19525401
On 9 juin, 15:50, FFO
Salut à toi

Que veux tu dire par :

passer en absolu avec une référence de cellule : choix1 ????

Tu peux mettre :

Case Is = UCase(Range("A1"))

Et en cellule A1 de la feuille active : $B$4 ou autre

Ce qui revient à :

Case Is = UCase("$B$4")

Mais je ne sais pas si celà correspond à ton attente

Merci de préciser




non non désolé "choix1" est un mauvais exemple, considérez plutôt u ne
nomination de cellule via le contrôleur de cellule ou le Menu
Insertion - Nom - définir
exemple : Case Is = UCase("toto")
garnote
Le #19525841
Salut BV,

Une suggestion, pas vérifié :
UCase(Range("choix1"))

Serge

"BV"
On 9 juin, 15:50, FFO
Salut à toi

Que veux tu dire par :

passer en absolu avec une référence de cellule : choix1 ????

Tu peux mettre :

Case Is = UCase(Range("A1"))

Et en cellule A1 de la feuille active : $B$4 ou autre

Ce qui revient à :

Case Is = UCase("$B$4")

Mais je ne sais pas si celà correspond à ton attente

Merci de préciser




non non désolé "choix1" est un mauvais exemple, considérez plutôt une
nomination de cellule via le contrôleur de cellule ou le Menu
Insertion - Nom - définir
exemple : Case Is = UCase("toto")
gmlsteph
Le #19525381
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
garnote
Le #19525831
En tenant compte de ton exemple :
Case Is = UCase(Range("toto")


Serge

"garnote"
Salut BV,

Une suggestion, pas vérifié :
UCase(Range("choix1"))

Serge

"BV"
On 9 juin, 15:50, FFO
Salut à toi

Que veux tu dire par :

passer en absolu avec une référence de cellule : choix1 ????

Tu peux mettre :

Case Is = UCase(Range("A1"))

Et en cellule A1 de la feuille active : $B$4 ou autre

Ce qui revient à :

Case Is = UCase("$B$4")

Mais je ne sais pas si celà correspond à ton attente

Merci de préciser




non non désolé "choix1" est un mauvais exemple, considérez plutôt une
nomination de cellule via le contrôleur de cellule ou le Menu
Insertion - Nom - définir
exemple : Case Is = UCase("toto")




BV
Le #19525501
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
gmlsteph
Le #19525811
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
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


BV
Le #19525801
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étho de
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
> 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
Publicité
Poster une réponse
Anonyme