Connaitre la celulle quittée ?

Y

ya_v_ka

Guest
Bonjour tout le monde,

Juste une tite question (kikadi encore ?):

Est-il possible dans une variable de récupérer la celulle quittée (j'entends par la, de savoir quel etait la celulle qui était active avant la celulle active actuelle) ?

Merci d'avance pour vos propositions...

Ya'v
 
C

ChTi'160

Guest
salut "ya_v_ka "
je ne sais pas si j'ai bien compri ,mais j'ai modifié la place de la variable
DerCell et celà me met la cellule Target en Majuscule lorsque je suis dans la Zone prés définie et pas ailleurs
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Range("A1").Value = DerCell
'Range("A2").Value = Target.Address
Dim DerCell As String
Dim AvDerCell As String
DerCell = Target.Address ' mis avant
AvDerCell = DerCell

If Not Application.Intersect(Target, Range("D1:D10")) Is Nothing Then
Range(AvDerCell).Value = UCase(Range(AvDerCell).Value)
End If
End Sub
tiens moi au courant
A++
Jean marie
 
J

jmps

Guest
Re Ya'v, Hello ChTi'160,

Vite fait sans tester :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
  If Not Application.Intersect(Target, Range("D9:AM23")) Is Nothing Then
    Range(DerCell).Value = UCase(Range(DerCell).Value)
  End If
  DerCell = Target.Address
End Sub


Le AvDerCell ne sert à rien ici, je l'avais mis pour remettre la cellule précédente sans couleur une fois que l'on change une deuxième fois (Je sais j'ai du mal à l'expliquer, mais bref on oublie AvDerCell).
Le DerCell est lui la cellule précédemment occupée donc tu dois le mémoriser avec le Target actuel après avoir fait tes changements.
Par ailleurs, si ton objectif est de mettre en majuscules la cellule quittée (c'est ce que je comprends en tous cas), pourquoi n'utilises-tu pas WorkSheet_Change qui lui te donne la cellule que tu viens de modifier dans le Target :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
  Target.Value = UCase(Target.Value)
End Sub


A adapter avec ton histoire de Range("D9:AM23"). C'est bien plus simple et compréhensible.

Voilà, j'espère que c'est bien ce que tu veux.

Bon après-midi.

José
 
Y

ya_v_ka

Guest
re ChTi, merci

et non, on revient au classique change... qui ne réagit que lorsque l'on REVIENT sur une celulle... donc pas besoin de dercell ou avdercell.

il faudrait remplacer le if not...
par: if range.(avdercell) fait partie de range("D1:D10") then
mais je sais pas comment dire à Excel le "fait partie de" ou "est contenu dans" ...

des heures déjà et je coince là-dessus... pfffffft

Ya'v
 
J

jmps

Guest
Oups Jean Marie !

Je t'ai pas vu arriver. Et on a pas vu la même chose non plus toi tu déplace DerCell avant et moi après. Ceci-dit moi j'ai pas testé, tu as peut-être raison alors.

Notre ami Ya'v nous dira ce qu'il en est.

A+

José
 
J

jmps

Guest
Décidément ça se complique, je me suis trompé dans mon AvDerPost Lol ! Je vous le corrige :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  Target.Value = UCase(Target.Value)
End Sub


On va s'en sortir les gars ! Voilà ce que c'est que de vouloir quitter une pauvre petite cellule bien confortable !

A+

José
 
Y

ya_v_ka

Guest
re jmps

merci encore

tu as bien compris mon voeux...

la 1ère solution ne prends pas la cellule dans la zone si je la quitte, mais prends en revanche la dernière hors-zone quand j'y penetre...

la 2e solution ne mets en majuscule QUE si je reviens sur la celulle...

l'idée est de taper une lettre dans la celulle et s'assurer que si elle est dans la zone target, elle se met en majuscule en quittant la celulle...

pas si évident que ca à voir...

merci encore

ya'v
 
Y

ya_v_ka

Guest
re jmps

alors là chapeau... pourtant j'avais essayé aussi, mais j'ai du m'y prendre comme un manche une fois de plus...

22 message pour se faire dire d'utiliser la fonction existante faite pour ca... et près de 8 heures de plongées ultrasousmarine... pfffff

alors voilà

pour tous un enorme MERCI

ya'v
 
J

jmps

Guest
Comme quoi, la façon de poser la question est primordiale et le sujet du post aussi. Si tu avais exposé clairement ton objectif au départ, on aurait pas tourné en rond dans nos cellules LoL !
Il vaut mieux perdre du temps pour bien analyser et expliquer son problème. D'ailleurs c'est comme ça qu'on trouve tout seul parfois.
Mais bon, ça m'a permis de faire joujou avec les couleurs de cellules comme j'aime bien le faire. D'ailleurs ça me donne une idée... Ca ressemble pas mal au jeu du serpent qui s'allonge au fur et à mesure qu'il mange des bonus... Si j'ai le temps un jour je me pencherai sur la question.

Merci pour l'idée Ya'v. Tu peux sortir de la baignoire. Arf !

José
 
Y

ya_v_ka

Guest
re jmps

oui, bien dit, mais c'est tellement facile d'expliquer ce que l'on a en tête evec des termes excelliens !

quant au jeu du serpent, je me suis fait la remarque en faisant naviguer au curseur que ca y ressemblait...

et je te promets que j'avais aussi pioché l'aide sur le worksheet_change et testé aussi, mais sans y parvenir tout seul...etant réaliste je me donne une vingtaine d'année pour arriver à écrire un bout de code qui fasse ce que je souhaite........


Merci encore à tous

ya'v
 

Discussions similaires

Statistiques des forums

Discussions
312 684
Messages
2 090 916
Membres
104 697
dernier inscrit
Pierrot Hubert