Se positionner au-dessous de la cellule modifiée

Bonjour,

Voici mon problème: Après le lancement de ma macro "Private Sub Worksheet_Change(ByVal Target As Range)" après modification d'une cellule, je voudrais pouvoir me retrouver au dessous de la cellule modifiée après validation par "Entrée" ou rester sur le changement de cellule si sélection d'une autre cellule, actuellement après modification d'une cellule:

- La cellule active se positionne automatiquement dans la cellule du démarrage de la macro (V3).

- Les plages de la macro sont apparentes.

Ayant fait quelques essais non concluants avec:

Cells(x,y).Activate

Set Cell = Cells(Cell.Row + 1, Cell.Column)

ActiveCell.Offset(1, 0).Select

-Serait-il possible pouvoir prendre en compte juste le nombre de lignes existantes et non le nombre que j'ai mis par défaut c'est à dire 200, je connais le ".End(xlUp).Row)" mais je n'arrive pas à l'intégrer dans mon "Range".

Si quelqu'un a une idée, je suis preneur.

Merci d'avance pour votre aide.

B.A.

4classeur001.xlsm (65.30 Ko)

Bonjour,

Un essai ...

Private Sub Worksheet_Change(ByVal Target As Range)
'*********************************************
'Si dans les colonnes "Ctrl" et "Etat", la valeur change
'*********************************************
Dim Cell As Range
Dim Dl As Integer
Dim MyRange As Range

Dl = Cells(Rows.Count, "A").End(xlUp).Row
''Application.EnableEvents = False

'Selection de
Set MyRange = Union(Range("V3:X" & Dl), Range("AI3:AK" & Dl), Range("AV3:AX" & Dl), Range("BI3:BK" & Dl), _
    Range("BV3:BX" & Dl), Range("CI3:CK" & Dl), Range("CV3:CX" & Dl), Range("DI3:DK" & Dl), _
    Range("DV3:DX" & Dl), Range("EI3:EK" & Dl), Range("EV3:EX" & Dl), Range("FI3:FK" & Dl))

'Pour chaque cellule de la selection
    For Each Cell In MyRange
'Si la valeur de la cellule est "Fait", alors
        If Cell.Value = "Fait" Then 'Si la valeur = "Fait" alors
            Cell.Interior.Color = RGB(198, 239, 206) 'Arrière-plan de couleur vert clair
            Cell.Font.Color = RGB(0, 97, 0) 'Police de couleur vert foncé
                    Cell.Offset(0, -1).Interior.Color = xlNone 'Fond cellule pas de couleur
                    Cell.Offset(0, -1).Font.Color = RGB(0, 0, 0) 'Police en noir
        End If
'Si la valeur de la cellule est "Non fait", alors
        If Cell.Value = "Non fait" Then 'Si la valeur = "Non fait" alors
            Cell.Interior.Color = RGB(255, 199, 206) 'Arrière-plan de couleur rose
            Cell.Font.Color = RGB(156, 0, 6) 'Police de couleur rouge
                    Cell.Offset(0, -1).Interior.Color = RGB(255, 199, 206) 'Arrière-plan de couleur rose
                    Cell.Offset(0, -1).Font.Color = RGB(156, 0, 6) 'Police de couleur rouge
        End If
'Si la valeur de la cellule est "En service", alors
        If Cell.Value = "En service" Then  'Si la valeur = "En service" alors
            Cell.Interior.Color = RGB(198, 239, 206) 'Arrière-plan de couleur vert clair
            Cell.Font.Color = RGB(0, 97, 0) 'Police de couleur vert foncé
        End If
'Si la valeur de la cellule est "Hors service", alors
        If Cell.Value = "Hors service" Then  'Si la valeur = "Hors service" alors
            Cell.Interior.Color = RGB(255, 199, 206) 'Arrière-plan de couleur rose
            Cell.Font.Color = RGB(156, 0, 6) 'Police de couleur rouge
        End If
'Si la valeur de la cellule est "", alors
        If Cell.Value = "" Then 'Si la valeur = "" alors
            Cell.Interior.Color = xlNone 'Fond cellule pas de couleur
            Cell.Font.Color = RGB(0, 0, 0)  'Police en noir
        End If
  Next Cell
Target.Select
Application.EnableEvents = True
End Sub

ric

Bonjour Ric et aux autres lecteurs,

Merci de t'être penché sur mon problème...

Ta solution est top, et couvre pratiquement mon problème, il reste une action pour finaliser ta solution:

- Lorsque je tape dans une des cellules déclenchant la macro et que je fais "Entrée", la cellule active revient sur la cellule remplie, serait-il possible de se retrouver au-dessous de la cellule modifiée après validation par "Entrée" ou rester sur le changement de cellule, si sélection d'une autre cellule?

Merci d'avance pour ton aide.

B.A.

Bonjour,

J'ai mal interprété ton propos ... désolé ...

À la fin de la macro, c'est Target.Select qui sélectionne à nouveau la cellule de départ.

Supprime cette ligne ou mets-la en commentaire ( il suffit d'ajouter une apostrophe devant ) ... est-ce que le résultat te convient ?

ric

Re bonjour Ric,

Merci pour tes réponses super rapides... C'est top, ça marche nickel...

Je te remercie.

B.A.

ric

Rechercher des sujets similaires à "positionner dessous modifiee"