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. 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
    1. 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
    2. 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
    3. 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. Contributeur
        Non, la chose n'est pas simple ; d'ailleurs personne ne fait ça ...
        0
        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