IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Plusieurs déclarations Worksheet_Change [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut Plusieurs déclarations Worksheet_Change
    Bonjour,

    j'aimerai effectué le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    Private Sub Worksheet_Change(ByVal J83 As Range)
     
       Select Case J83
        Case Is = "1", "2", "3"
        Range("a93:a102").EntireRow.Hidden = False
        Range("a93:a102").EntireRow.Hidden = True
     
        Case Is = "4"
           Range("a93:a102").EntireRow.Hidden = False
            Range("a95:a102").EntireRow.Hidden = True
     
        Case Is = "5"
            Range("a93:a102").EntireRow.Hidden = False
            Range("a97:a102").EntireRow.Hidden = True
     
         Case Is = "6"
           Range("a93:a102").EntireRow.Hidden = False
            Range("a99:a102").EntireRow.Hidden = True
     
         Case Is = "7"
            Range("a93:a102").EntireRow.Hidden = False
            Range("a101:a102").EntireRow.Hidden = True
     
          Case Is = "8"
            Range("a93:a102").EntireRow.Hidden = False
     
        End Select
     
     
       Select Case J104
     
        Case Is = "3"
        Range("a108:a117").EntireRow.Hidden = False
        Range("a114:a117").EntireRow.Hidden = True
     
           Case Is = "4"
        Range("a108:a117").EntireRow.Hidden = False
        Range("a116:a117").EntireRow.Hidden = True
     
           Case Is = "5"
        Range("a108:a117").EntireRow.Hidden = False
     
        End Select
     
     
    End Sub
    Les cellules J83 et J104 sont des listes déroulantes de chiffres

    Sans la deuxième partie " Select case J104 ca fonctionne, quand je la rajoute çà me dit que J104 n'est pas déclarée mais je n'arrive pas à la déclarer car je peux mettre qu'une seule fois ""Private Sub Worksheet_Change"

    Peut-être avec "Target" ?

    Ou une fonction if, à voir.

    Si vous avez des pistes

    Edit : j'ai enlever le code mais maintenant la liste déroulante en J104 intervient aussi sur les lignes précédentes

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If Target.Address(0, 0) = "J83" Then
        Select Case Target
            Case 1 To 3
                Range("A93:A102").EntireRow.Hidden = False
                Range("A93:A102").EntireRow.Hidden = True
                '....
        End Select
     
    ElseIf Target.Address(0, 0) = "J104" Then
        Select Case Target
            Case 3
                Range("A108:A117").EntireRow.Hidden = False
                Range("A114:A117").EntireRow.Hidden = True
            Case 4
                Range("A108:A117").EntireRow.Hidden = False
                Range("A116:A117").EntireRow.Hidden = True
            Case 5
                Range("A108:A117").EntireRow.Hidden = False
        End Select
    End If
    End Sub

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut
    Merci beaucoup de la réponse rapide.

    Ça fonctionne

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Java] Post-déclaration vs. plusieurs déclarations successives
    Par As2piK dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 19/07/2011, 21h19
  2. déclaration sur plusieurs lignes
    Par nymus7 dans le forum Langage
    Réponses: 4
    Dernier message: 09/02/2010, 13h37
  3. [Toutes versions] Déclaration de variable qui sert dans plusieurs macro
    Par EmmanuelleC dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/10/2009, 16h22
  4. Déclaration et utilisation de plusieurs classes
    Par filoulebauju dans le forum ASP.NET
    Réponses: 4
    Dernier message: 05/08/2009, 13h23
  5. Réponses: 1
    Dernier message: 14/08/2008, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo