VBA macro quand cellule sélectionnée

Résolu
Bonjour,

Savez-vous lancer une macro à la sélection d'une cellule?

Au préalable , dans la Feuil2 par exemple je nomme une cellule TOTO

Donc, il faudrait que lorsque je sélectionne TOTO, la macro TITI s'éxécute.

Merci pour votre aide.

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    cela devrait le faire

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [toto]) Is Nothing Then
    Call titi
    End If
    End Sub

    1. super merci, ça fonctionne.

      Pourrais-tu compléter cette macro ?
      si toto ou titi n'existe pas => pas d'erreur
  2. Re,

    en début de procédure tu peux mettre une gestion d'erreur
    On Error Resume Next
    qui évitera un plantage dans le cas d'une erreur dans le code mais sera inefficace dans le cas d'absence de la plage nommée, dans ce cas dès que tu changeras de position dans ton tableau le code s'activera.
    dans le cas d'absence de macro je ne vois pas, je regarde si cela est faisable
    1. Je n'arrive pas à mettre plusieurs fois cette macro dans une feuille
      par exemple:

      toto lance titi
      et
      tutu lance tyty
    2. j'ai finalement fait comme ça

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Intersect(Target, [toto]) Is Nothing Then
      Call titi

      Else

      If Not Intersect(Target, [tutu]) Is Nothing Then
      Call tyty

      End If
      End If
      End Sub
  3. Re,

    depuis la cellule nommée "toto", que veux tu faire exactement
    si tu dois lancer plusieurs codes tout dépend des fonctions de chacun, peut être faire comme avec les formules utiliser les conditionnelles comme If ou And ou Or ou Else imbriqué dans un If
    1. J'utilise les noms de cellules toto et tutu pour faire des liens hypertextes dans un autre fichier :

      le fichier s'ouvre et différentes lignes sont masquées en fonction du lien utilisé.

      monlien#toto => lance la macro titi (par exemple cache les ligne de 1 à 10)
      ou
      monlien#tutu => lance la macro tyty (par exemple cache les lignes de 10 à 20)

      ça fonctionne très bien, à condition que les cellules toto et tutu ne soient pas dans les zones à cacher.