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 :

[VBA-E]Problème d'éxécution de macros à l'ouverture d'éxcel


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut [VBA-E]Problème d'éxécution de macros à l'ouverture d'éxcel
    Bonjour tout le monde,

    J'ai un fichier excel avec 1 classeur contenant 2 feuilles. Dans la premiere feuille j'ai mis une liste modifiable que j'ai programmé sous VB.Je veux que à l'ouverture de excel les données ("A","B","C"et"D")soient rentrées dans ma liste modifiable. Pour cela j'ai entré comme code sous VB:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub UserForm_Initialize1()
     
    ComboBox1.AddItem "A"
    ComboBox1.AddItem "B"
    ComboBox1.AddItem "C"
    ComboBox1.AddItem "D"
     
    End Sub
     
    Private Sub Worksheet_Activate()
    UserForm_Initialize1
    End Sub
    Le probleme est que à chaque fois que je vais sur la deuxieme feuille et que je reviens sur la premiere il me double mes données dans ma liste modififiable.

    Comment résoudre se probleme?

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    soi tu appelle ta fonction sur un autre événement ... par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_Open()
    UserForm_Initialize1
    End Sub

    ou au début de la procédure tu vide la combobox par un clear


  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut deuxieme solution est bonne
    Merci pour ta deuxieme solution. Elle marche du tonnerre.

    Merci encore

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut probleme
    en fait elle me convient pas car à chaque fois que je change de feuille elle m'efface la donnée que j'ai sélectionné dans liste modifiable.

    Sinon j'ai pas tres bien saisie ta premiere solution!!!

    Est ce qu'il y a une autre solution au tout premier probleme?

    merci

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par mulot03
    en fait elle me convient pas car à chaque fois que je change de feuille elle m'efface la donnée que j'ai sélectionné dans liste modifiable.

    Sinon j'ai pas tres bien saisie ta premiere solution!!!

    Est ce qu'il y a une autre solution au tout premier probleme?

    merci
    Si tu mets le .clear dans ton activate, c'est normal qu'il efface à chaque fois !
    Met le .clear dans le thisworkbook.open et tu n'auras plus de problèmes

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut réponse
    Jsuis qu'un simple débutant!!

    Tu pourrais me donner stp toute la commande à mettre dans le ThisWorkbook car la je galere trop.

    merci

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    dans l'editeur VBE tu fais affichage, explorateur de projet , un clic du bouton droit de la souris sur ThisWorkbook , puis code ... et tu me le code workbook_open .. que j'ai posté plus haut...

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    OK sa marche quand je met 'Private Sub workbook_open() mais cela engendre un autre probleme:
    je sélectionne une donné de ma liste modifiable qui est dans ma feuille 1,ma donnée s'affiche.apres je vais sur la feuille 2 et je reviens sur la feuille 1:ma donnée ne s'affiche plus.je suis alors obligé de la re-sélectionner.

    Comment résoudre ce nouveau probleme?

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tu as enlevé le code dans
    Worksheet_Activate.. ?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    il y a une précision que j'ai oublié de faire; c'est que j'ai une liste modifiable dans ma feuille 1 et une autre dans ma feuille 2. Elles s'appellent toutes les deux combobox1 donc je pense que je ne peux pas les gérer dans thisworbook.

    J'ai raison?

    Sinon je n'ai pas enlevé le code dans worksheet_activate

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    il faut l'enlever le code dans Worksheet_Activate, ce n'est pas la peine de remplir ta liste 2 fois ...

    pour l'appel à la fonction de remplissage tu peu faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_Open()
     Feuil1.UserForm_Initialize1
    End Sub
    d'ailleur soit dit en passant tu pourrai changer le nom de cette procédure UserForm_Initialize1.. par par exmple MajListe1 .. enfin un truc plus cohérent...

    ou un peu moins structurer, sans procédure :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Workbook_Open()
    With Feuil1.ComboBox1
     .AddItem "A"
     .AddItem "B"
     .AddItem "C"
     .AddItem "D"
    End With
    End Sub

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup!!!!

    je pense que sa va marcher maintenant.J'ai essayé sur une petite partie de mon fichier et ça à l'air de fonctionner.Je vais refaire tout mon programme comme ta deuxieme solution en mettant tout dans workbook et je te redirai si sa marche.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    C'est bon sa marche impec!!!

    Je te remercie, tu m'as donné un sacré coup de main

    a+

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

Discussions similaires

  1. [XL-2007] problème de recalcul des macro à l'ouverture du fichier excel?
    Par law56100 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/09/2009, 13h38
  2. [VBA-E]problème d'indice pour macro dans perso.xls
    Par fred38 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/05/2007, 23h33
  3. [VBA-E]Problème de longueur de macro sous VBA [E]
    Par titou8383 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 23/04/2007, 19h00
  4. [VBA-E] Problème de tableau dans macro VBA
    Par Chouls dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2006, 15h20
  5. [VBA EXCEL] Problème d'éxécution avec graphiques
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/11/2005, 09h55

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