Excel : déplacement de la cellule active

Résolu
Bonjour,
Je veux déplacer la cellule active en fonction d'un code.
Si je rentre en a1 un "1" je veux que la cellule active soit en a10, si je tape un "2" que la cellule active soit en a12.
Je pense que la chose est simple mais je n'y arrive pas...
merci pour votre aide

6 réponses

  1. Bonjour,
    Au passage, il est plus rapide et plus simple de sélectionner directement la cellule concernée (A10 ou A12).
    Quand pensez-vous ?
    1
    1. Contributeur
      Non, la chose n'est pas simple ; d'ailleurs personne ne fait ça ...
      0
      1. Salut,

        C'est tout à fait possible mais en VBA uniquement ou avec des liens hypertextes éventuellement.
        Par contre quel intérêt de passer par une macro alors qu'il suffit d'un simple clic sur la cellule considérée, cela qui me semble plus simple et rapide que de saisir des valeurs dans une cellule.
        a moins que tu nous es pas tout dit sur ton fichier ?
        A+
        Mike-31

        Une période d'échec est un moment rêvé pour semer les graines du savoir.
        0
        1. Bonjour à tous,
          Je vous remercie pour vos réponses. Il me semble pourtant avoir utilisé (il y a longtemps) cette manip dans une formule.
          Bien sûr il est simple de cliquer sur la cellule.
          Je suis en b1 et je dois aller en g1 ou h1, c'est loin avec les flèches ou bien il faut attraper la souris...
          C'était pour le fun...
          0
          1. Contributeur
            Alors pour le fun, tu peux essayer ceci :

            Private Sub Worksheet_Change(ByVal sel As Range)
            On Error Resume Next
                Range(sel.Value).Select
                If Err.Number = 0 Then sel.Value = "" Else Err.Clear
            End Sub
            

            Tu iras à l'adresse saisie dans une cellule vide afin de ne pas garder les adresse visitées !
            0
        2. Re,

          Alors comme tu le dis si bien pour le fun, avec ce code

          Private Sub Worksheet_Change(ByVal Target As Range)
          On Error Resume Next
          If Not Intersect(Selection, Range("B1:B20")) Is Nothing Then
          Target.Offset(0, Target.Value).Select
          End If
          End Sub

          sur le fichier exemple saisir une valeur dans la plage colorisée en jaune et la cellule active se déplacera vers la droite de la valeur saisie et vers la gauche si la valeur saisie est -1 vu qu'il n'y a qu'une colonne libre à gauche

          https://www.cjoint.com/?BGijB2Eu8wq
          0
          1. Contributeur
            Bonjour Mike-31,

            Ceci serait plus approprié :

            Private Sub Worksheet_Change(ByVal Target As Range) 
            On Error Resume Next 
            If Not Intersect(Target, Range("B1:B20")) Is Nothing Then 
                Target.Offset(0, Target.Value).Select 
            End If 
            End Sub 
            
            0
          2. Salut l'ami,

            Exact

            Bon dimanche
            A+
            0
        3. Merci pour votre solution, ça va m'obliger à me replonger dans vba, voilà 10 ans que je n'y est pas touché...
          bonne semaine à tous
          0