Excel : déplacement de la cellule active

Résolu
chemil123 -  
 chemil123 -
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. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Non, la chose n'est pas simple ; d'ailleurs personne ne fait ça ...
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  4. chemil123
     
    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. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Salut l'ami,

      Exact

      Bon dimanche
      A+
      0
  7. chemil123
     
    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