Sélectionner une cellule précédente colorée

Mickmagmicmac

XLDnaute Nouveau
Bonjour à tous,

voilà un moment que je sèche sur ce problème sans trouver de solution, sur ce site notamment. J'ai joint un mini fichier reprenant la partie concernée.

Il existe un code dans la feuille qui me permet de changer le contenu de certaines cellules via un simple clic. Le hic est que pour appliquer des changements successifs, il me faut sélectionner entre deux une cellule "temporaire". (A1 par exemple !) Tout ça j'ai réussi !

Mais mon fichier initial fait plusieurs milliers de lignes... Revenir à A1, c'est faire défiler x lignes !

Mon idée est de choisir comme "cellule temporaire" la première cellule orangée (jamais modifiée) supérieure à la cellule sélectionnée. Par exemple, F12 si j'ai cliqué en F17.

Le problème : mes cellules F16 à F13 sont alors modifiées !!! Et je ne veux pas ! Snif !

Un p'tit coup de main me ravirait !
Merci quoi qu'il en soit de m'avoir lu.
Mick

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column > 11 Then Exit Sub
If Target.Row < 4 Then Exit Sub
If Target.Row > 19 Then Exit Sub

Select Case Target

Case Is = "x"
Target.Font.ColorIndex = 1
Target = "A"
Target.Interior.ColorIndex = 5

Case Is = "A"
Target = "B"
Target.Interior.ColorIndex = 4

Case Is = "B"
Target = "x"
Target.Interior.ColorIndex = 0
End Select

Do While Target.Interior.ColorIndex <> 45 'couleur orange clair
ActiveCell.Offset(-1, 0).Select
Exit Do
Loop

End Sub
 

Pièces jointes

  • Mini.xls
    48 KB · Affichages: 75
  • Mini.xls
    48 KB · Affichages: 79
  • Mini.xls
    48 KB · Affichages: 81

Pierrot93

XLDnaute Barbatruc
Re : Sélectionner une cellule précédente colorée

Bonjour Mick,

pas tout compris du résultat final à obtenir, une piste peut être... utiliser un autre événement... soit l'événement double click ou bien le click droit sur cette même cellule.... A voir en fonction de ce que tu veux faire...

bonne soirée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Sélectionner une cellule précédente colorée

Re,

le petit exemple ci-dessous est déclenché lors du double click, la valeur de la cellule "doublecliquée" est incrémentée et ce autant de fois que tu le veux sans avoir à sélectionner une autre cellule, tu peux donc rester sur ta sélection... A noter le "Cancel = True" permet de ne pas "rentrer" dans la cellule...

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Value = Target.Value + 1
Cancel = True
End Sub

@+
 

Mickmagmicmac

XLDnaute Nouveau
Re : Sélectionner une cellule précédente colorée

Bonjour Pierrot93,

Oui ça semble compliqué mais un test sur mon mini fichier clarifie largement le problème.
Pour les évènements, je l'avais déjà envisagé, mais le double clic est exclu vu que c'est ce que je veux éviter avec mon code (mon fichier contient des milliers de cellules modifiables). Et le clic droit, je m'en sers pour réinitialiser la cellule.
Novice en vba, je n'arrive surtout pas à écrire ma fin de code : la boucle "Do Loop" ne fonctionne pas comme attendu et ça me dépasse !

Merci tout de même. Je continue de creuser !
Mick
 

Pierrot93

XLDnaute Barbatruc
Re : Sélectionner une cellule précédente colorée

Re,

as tu vu mon post de 18h09..

Oui j'ai regardé ton code, et ta boucle avec cette instruction "ActiveCell.Offset(-1, 0).Select" rappele l'événement "SelectionChange" qui relance la boucle....
 

Mickmagmicmac

XLDnaute Nouveau
Re : Sélectionner une cellule précédente colorée

Un grand MERCI !

D'après ton exemple précédent (nos messages se sont croisés), j'ai changé "SelectionChange" en "BeforeDoubleClick" et surtout je ne connaissais pas le coup du booléen Cancel=True.

Donc mon problème est résolu à un clic près !
Je double-cliquerai !

A moins peut-être d'utiliser le ClicDroit pour changer ma cellule et le double clic pour réinitialiser... faut que je vois ça !

Encore merci.
Mick
 

Mickmagmicmac

XLDnaute Nouveau
Re : Sélectionner une cellule précédente colorée

Ah oui celui-ci, je l'avais saisi, je m'en sers pour réinitialiser mes cellules, sans menu contextuel donc !

Et un BeforeClick, ça n'existe pas ?!

Sans ton aide, je galèrerais encore.
Merci et bonne soirée à toi.

Mick
 

Discussions similaires

  • Résolu(e)
Microsoft 365 pb formule vba
Réponses
15
Affichages
820

Statistiques des forums

Discussions
312 493
Messages
2 088 946
Membres
103 989
dernier inscrit
jralonso