VBA macro quand cellule sélectionnée

Résolu
tchernosplif Messages postés 714 Statut Membre -  
tchernosplif Messages postés 714 Statut Membre -
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

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    1. tchernosplif Messages postés 714 Statut Membre 249
       
      super merci, ça fonctionne.

      Pourrais-tu compléter cette macro ?
      si toto ou titi n'existe pas => pas d'erreur
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    0
    1. tchernosplif Messages postés 714 Statut Membre 249
       
      Je n'arrive pas à mettre plusieurs fois cette macro dans une feuille
      par exemple:

      toto lance titi
      et
      tutu lance tyty
      0
    2. tchernosplif Messages postés 714 Statut Membre 249
       
      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
      0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    0
    1. tchernosplif Messages postés 714 Statut Membre 249
       
      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.
      0