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 :

Suppression de lignes manuellement et ComboBox qui s'exécute automatiquement [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Planificateur des travaux de maintenance
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Planificateur des travaux de maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Suppression de lignes manuellement et ComboBox qui s'exécute automatiquement
    Bonjour,

    J'aimerais connaître la raison pourquoi lorsque je supprime des lignes manuellement, le code ComboBox (ajouté comme Contrôle ActiveX) s'exécute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ComboBox1_Change()
    MsgBox "allo"
    End Sub
    Pour le test ... à chaque ligne que je supprime "allo" s'affiche !

    Merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    Ça doit dépendre de la manière que tu charges ce combobox1.
    J'imagine que tu le lies à une plage plutôt que de le charger "manuellement"

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Planificateur des travaux de maintenance
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Planificateur des travaux de maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci parmi pour la réponse ...

    Effectivement, j'utilise la propriété ListFillRange = A1:A5 pour alimenter mon ComboBox. Si c'est l'utilisation de cette propriété qui déclenche l'exécution de mon ComboBox comment l'éviter lorsque je supprime une ligne ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    En fait, je pensais que tu supprimais une ligne qui servait à alimenter la combobox...
    Si ce n'est pas le cas, je ne vois pas pourquoi cet événement serait déclenché (?)

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour,

    peut-être en désactivant les évènements avant la suppression …

    Voir du côté de la propriété EnableEvents

    sans oublier de la réactiver avant la fin de la procédure !

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Planificateur des travaux de maintenance
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Planificateur des travaux de maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci toujours ...

    c'est à titre d'exemple que je vous expose mon problème pour comprendre le phénomène!

    J'ai un simple combobox qui est alimenté par les cellules A1:A5 (ListFillRange). Pour mon test je fais apparaître le message "Allo" quand je change de valeur.

    Cependant, si je sélectionne 3 lignes consécutives dans cette même feuille, plusieurs lignes sous les cellules A1:A5, quand je fais bouton droit et que je supprime ces lignes sélectionnées (manuellement - sans code VBA) cette action déclenche l'événement sur le combobox sans raison ! Donc le message Allo apparaît.

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Et si tu laisses tomber le ListFillRange et que tu charges le combo comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Combobox1.List = Range("A1:A5").Value
    Est-ce que ça active toujours l'événement ?

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Planificateur des travaux de maintenance
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Planificateur des travaux de maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci parmi,

    Oui ça fonctionne ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        Sheets("Feuil1").ComboBox1.List = Range("A1:A5").Value
    End Sub
    Je ne comprends pas pourquoi la propriété ListFillRange crée ce problème, mais au moins en l'alimentant de façon indirect via ta proposition j'ai résolu mon problème.

    J'ai apprécié ma première expérience sur ce forum

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Spécifie tout de même la feuille de la plage au cas où le classeur s'ouvre sur une autre feuille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").ComboBox1.List = Sheets("NomDeFeuille").Range("A1:A5").Value

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

Discussions similaires

  1. Contenu d'un combobox qui change pour chaque ligne d'un JTable?
    Par Godzella1925 dans le forum Composants
    Réponses: 3
    Dernier message: 13/04/2011, 17h01
  2. comment créer un thread qui s'exécute automatiquement sans arrêt
    Par oumay dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 21/09/2010, 11h29
  3. suppression des lignes qui se répètent
    Par linooo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/06/2007, 15h49
  4. [PHP-JS] php qui s'exécute automatiquement...
    Par sam01 dans le forum Langage
    Réponses: 4
    Dernier message: 01/03/2006, 07h20

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