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.
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