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 :

Trouver dans quelle cellule est un bouton


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut Trouver dans quelle cellule est un bouton
    Bonjour,

    Je voudrais, avec la fonction appelée par le bouton, trouver depuis quelle cellule le bouton a été cliqué.

    Les boutons ont été créés avec le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Buttons.Add(cellule.Left, cellule.Top, _
                            cellule.Width, cellule.Height)
    Est-ce possible ?

    Merci,
    Pierre.

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Tu peux tester ceci :
    Code à ajouter dans la procédure appelée par le bouton : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim T As Single, L As Single, cel As Range
     
    T = ActiveSheet.Shapes(Application.Caller).Top
    L = ActiveSheet.Shapes(Application.Caller).Left
     
    For Each cel In ActiveSheet.Cells
        If cel.Top = T And cel.Left = L Then
            MsgBox "le bouton utilisé se trouve dans la cellule " & cel.Address(0, 0)
            Exit For
        End If
    Next
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    Merci beaucoup, en m'inspirant d'un autre code et du tien, j'ai trouvé quelque chose qui me va parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
    PS : quand le sujet est marqué comme résolu, des messages peuvent-êtres ajoutés ?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut Pierre.g et le forum
    Si tu expliquais pourquoi tu as besoin de la cellule en-dessous du bouton ?
    Le nom du bouton ne serait pas mieux ?
    A+

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    Ce sont des boutons qui vont servir à créer des dossier. Ils ont tous le même nom "Créer dossier".

    Je trouve donc la cellule qui contient le bouton pour pouvoir aller chercher quelques cellules à gauche les informations qu'il faut pour créer le dossier.

    Je pense que ça devrait bien marcher. Si tu a une autre solution n'hésite pas.

    Pierre.

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    Je pense que cette question est le résultat de ce qui est écrit ici :
    http://www.developpez.net/forums/sho...d.php?t=597731

    Pourquoi aller à la pêche de l'adresse de la cellule contenant un bouton ?
    Il suffit, au moment de la création du bouton, de noter (par exemple dans un tableau dynamique) l'adresse correspondante, puis d'aller la lire dans ce tableau.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    Merci.

    Je pense que la solution trouvée quelques messages plus haut est simple et robuste, les tableau dynamique, je ne connait pas.

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut Pierre.g et le forum
    Ce sont des boutons qui vont servir à créer des dossier. Ils ont tous le même nom "Créer dossier".
    Je ne demandais pas la légende du boton ('Caption"), mais le nom (Name).
    Si tu fais une macro momune pour tous tes bouton, tu peux utiliser Application.Caller, qui te retourne le nom du bouton. Mais avec le manque d'infos, c'est difficile d'aller plus loin.
    A+

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 256
    Points : 91
    Points
    91
    Par défaut
    Je ne savais pas qu'on pouvais changer le nom interne d'un bouton, j'ai laissé Excel se débrouiller seul alors.
    Désolé pour le manque d'infos.

    J'ai utilisé Application.Caller, c'est bon, ça marche.

    Merci, le problème est résolu.

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

Discussions similaires

  1. trouver dans quelles cellules se trouve une lettre
    Par pedrocorse dans le forum Excel
    Réponses: 5
    Dernier message: 03/10/2007, 19h09
  2. Réponses: 1
    Dernier message: 10/09/2006, 23h24
  3. Trouver en quelle langue est écrit un texte
    Par Lorponos dans le forum Autres Logiciels
    Réponses: 12
    Dernier message: 27/04/2006, 12h33
  4. Réponses: 5
    Dernier message: 27/02/2006, 13h46
  5. [VB.NET][Datagrid] quelle cellule est AFFICHEE
    Par Golzinne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/12/2005, 18h24

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