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 :

[ENFIN A MOITIE SEULEMENT...][VBA Excel]"suivre" les changements d'ActiveCell


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 10
    Points
    10
    Par défaut [ENFIN A MOITIE SEULEMENT...][VBA Excel]"suivre" les changements d'ActiveCell
    Bonjour à tous !

    (Précision : je suis un débutant)

    contexte (simplifié) :
    une UserForm contenant OptionButton1, OptionButton2 et un Label.

    Lorsqu'on clic sur OptionButton1, le Label affiche le contenu de l'ActiveCell.

    Lorsqu'on clic sur OptionButton2, le Label se vide.

    Ca ça marche.

    Ce que je n'arrive pas à faire :

    je voudrais que tant que OptionButton1.Value = True, le Label.Caption change chaque fois que l'utilisateur clique sur une nouvelle cellule (sans être obligé de recliquer sur l'OptionButton1 à chaque fois).

    Si vous pouvez m'aider, merci d'avance !

  2. #2
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut
    Bonjour le forum
    Bonjour DREADY

    Il faut que tu mettes le code dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    End Sub
    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Merci de ta réponse.

    Je vais tester ça et tiens au courant !

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Bon, comme je l'ai dit je suis débutant, donc je dois sûrement mal m'y prendre :

    je ne vois pas où écrire cette Private Sub ni comment l'appeler.

    Pour l'instant j'ecris mon code et crée mes UserForm dans le classeur PERSO.xls (car je crois que c'est plus pratique d'avoir tout au même endroit).

    j'ai actuellement une Sub écrite dans Module1. Cette Sub "show" ma UserForm quand on clic sur un bouton personalisé présent dans l'interface d'Excel.

    Tout le reste de mon code est actuellement écrit dans la UserForm.

    Question :

    où dois-je écrire la PrivateSub proposée plus haut, et comment l'appeler ?

    Merci d'avance !

  5. #5
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut
    Re

    Essaie de déposer un fichier. Voir par "cjoint.com"

    A+

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    re,

    voici un fichier exemple
    http://cjoint.com/?kqoYA4ZoBd

    si tu sélectionnes une cellule contenant un chiffre, puis que tu cliques sur le bouton avec un ? rouge sur fond noir, la macro se lance.
    Si tu changes de cellule, il faut que tu cliques sur Off puis On pour que les infos s'actualisent.
    Moi je voudrai qu'elles s'actualisent automatiquemen tant que le bouton On est coché.

    ps: je ne sais pas si le bouton que j'ai créé apparaîtra, alors tu peux aussi lancer directement depuis la fenêtre VB.

    Merci beaucoup d'avance.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Bon, ça y est ça marche !

    Mais il a fallu :
    [*]que je rappatrie ma UserForm dans le projet du classeur contenant les données (j'aurais bien aimé pouvoir la laisser dans PERSO.xls afin de pouvoir l'utiliser dans n'importe quel classeur mais bon....)
    [*]que je mette la procédure Worksheet_SelectionChange dans le code de la feuille où il y a mes données (j'aurais aimé la mettre à un endroit qui fasse que ça marche dans n'importe qu'elle feuille du classeur mais bon...)
    [*]que cette procédure appelle une procédure contenant mon code. Cette dernière étant située dans un module du classeur contenant mes données.

    Tout cela me semble affreusement laid comme structuration, mais bon ça marche....
    Nul doute qu'un pro aurait fait ça proprement, donc si vous avez des suggestions, n'hésitez pas...

    Merci en tous cas à Edelweisseric ! (il fait beau à Montpellier ?)

    à+.

  8. #8
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    dans ton classeur perso tu met ton userform
    dans le module thisworkbook du classeur perso.xls tu met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public WithEvents App As Excel.Application
     
    Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        If UserForm1.OptionButton1.Value = True Then UserForm1.Label1.Caption = ActiveCell.Value
    End Sub
     
    Private Sub App_WorkbookActivate(ByVal Wb As Workbook)
        UserForm1.Show False
    End Sub
     
    Private Sub Workbook_Open()
    Set App = Me.Application
    End Sub
    et c'est la base autour de laquelle il faut broder selon tes besoins

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Merci bidou !

    Je vais tester ça (et surtout essayer de comprendre ce code )

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

Discussions similaires

  1. Requete fichier .js VBA EXCEL REALTIME FX QUOTES
    Par tiuse75016 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/05/2010, 18h51
  2. [VBA-Excel] Petit problème avec les formulaires
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/08/2006, 09h22

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