[Catégorie modifiée VB6 -> VBA] petit coup de main SVP

Messages postés
38
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
9 janvier 2013
- - Dernière réponse : micku2b
Messages postés
38
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
9 janvier 2013
- 31 mai 2011 à 11:45
Bonjour,

Je voudrais activer une macro lorsque j'effectue un changement dans ma "zone combinée" ou "DROP DOWN".

Se changement à pour but de charger une nouvelle liste déroulante.

J'ai ce bout de code mais je n'arrive pas à le faire tourner.

Private Sub Worksheet_Change(ByVal Target As Range)

        Dim KeyCells As Range

        ' La variable KeyCells contient les cellules qui déclencheront
        ' une alerte si elles sont modifiées.
        'Zone combinée 33
        'ActiveSheet.Shapes("Drop Down 44").Select
        Set KeyCells = Range("B4:C6") 'xlDown" Or "E13:xlDown"
        'Set KeyCells = Zone combinée 33

        If Not Application.Intersect(KeyCells, Range(Target.Address)) _
        Is Nothing Then
        End If


End Sub


Quelqu'un peut-il m'aider?

merci
Afficher la suite 

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
0
Merci
Salut

Il est important de bien choisir la catégorie d'une question, pour éviter d'avoir des réponses à côté de la plaque, car VBA et VB6 ont quelques méthodes différentes.

Ton programme fonctionne.
Quand une modification a lieu dans la zone B4 à C6, le If se déclenche bien.
Que lui reproches-tu ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
38
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
9 janvier 2013
0
Merci
Bonjour,

J'aurais voulus modifier mon programme pour qu'il fonctionne lorsque j'effectue une action dans mes listes déroulantes.

Private Sub Worksheet_Change(ByVal Target As Range)

        Dim KeyCells As Range

        ' La variable KeyCells contient les cellules qui déclencheront
        ' une alerte si elles sont modifiées.
        'Zone combinée 33
        'ActiveSheet.Shapes("Drop Down 44").Select

         'Quelque de ce genre...
        Set KeyCells = Range("Drop Down 44").Select 
       
        Call Macro3

        If Not Application.Intersect(KeyCells, Range(Target.Address)) _
        Is Nothing Then
        End If


End Sub


voila

merci
Commenter la réponse de micku2b
Messages postés
38
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
9 janvier 2013
0
Merci
Re bonjour,

Je pense programmer sous VB6 (Excel 2007)??

autre information chez moi se code fonctionne tous le temps quelque soit la cellule sélectionnée.

Merci
Commenter la réponse de micku2b