Retour sur la cellule précédemment active

Gil_Se

XLDnaute Occasionnel
Bonjour à tous.
Je souhaite après avoir cliqué sur l'une des cellules d'une zone, que la cellule active revienne à sa position précédente.
Je vous joint un fichier pour être plus clair.

Ci-dessous la macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
ActiveSheet.Unprotect
Set zone1 = Range("JourSem")
If Not Intersect(Target, zone1) Is Nothing Then
Range("B1").Value = Target.Value
End If
End Sub


Merci de votre aide.
Gilles
 

Pièces jointes

  • GilSe06122012.xls
    23 KB · Affichages: 64

Gil_Se

XLDnaute Occasionnel
Re : Retour sur la cellule précédemment active

Re
J'ai trouvé la bonne macro si cela peut aider:

Public mem
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Set zone1 = Range("Planning")
Set zone2 = Range("JourSem")
If Not Intersect(Target, zone1) Is Nothing Then mem = Target.Address
If Not Intersect(Target, zone2) Is Nothing Then
Range("B1").Value = Target.Value
Range(mem).Offset(0, 0).Select
End If
End Sub

Bonne journée à tous
 

Efgé

XLDnaute Barbatruc
Re : Retour sur la cellule précédemment active

Bonjour Gil_Se,
En regardant, il y a un risque d'erreur.
En ouvrant le classeur si la première action est de selectionner une cellule de la plage "JourSem", la variable mem n'est pas initialisée. Dans ce cas on part en Débogage.
Pour éviter cela une proposition:
VB:
Private mem As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("Planning")) Is Nothing Then Set mem = Target
If Not Intersect(Target, Range("JourSem")) Is Nothing Then
    Range("B1").Value = Target.Value
    If Not mem Is Nothing Then
        mem.Select
    Else
        Range("A1").Select
    End If
End If
End Sub
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 323
Messages
2 087 297
Membres
103 511
dernier inscrit
mickael.das