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

micku2b Messages postés 38 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 9 janvier 2013 - 30 mai 2011 à 17:28
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

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 mai 2011 à 18:18
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)
0
micku2b Messages postés 38 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 9 janvier 2013
31 mai 2011 à 08:57
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
0
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
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
0
Rejoignez-nous