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 :

Evenement double click et récuperation de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 70
    Points : 17
    Points
    17
    Par défaut Evenement double click et récuperation de données
    Bonjour !

    M'étant trompé de forum sur mon post d'avant, je le re-poste ici, qui me semble être le bon ...

    Donc,

    Ce dont j'ai besoin, c'est que dans mon 1er userform que j'ai nommé "Stock" j'ai une listbox. sur cette listbox qui est "lstinterventions", j'ai un evenement Dblclick lorsque que double click sur une ligne, qui ouvre un autre userform nommé "ClickInter", qui de la fonctionne correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub lstinterventions_Dblclick(ByVal Cancel As MSForms.ReturnBoolean)
    Clickinter.Show vbModeless
    End Sub
    Mais ensuite, j'aimerai que lorsque que ce Userform s'ouvre, qu'il récupère mes données de la ligne double clické ... Textbox1 pour la colonne 1, textbox2 pour la colonne 2, textbox3 pour la colonne 4, textbox4 pour la colonne 5, textbox5 pour la colonne 6, et textbox6 pour la colonne 11.

    J'ai essayer de faire un bout de code, en vain ... le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Option explicit
    Dim bNouveau As Boolean
    Dim L as Integer
     
    Private Sub Userform_activate()
     
    bNouveau = False
    L = Stock.lstinterventions.Column(11)
    With ThisWorkbook.Worksheets("Stock Maintenance")
     
      Clickinter.TextBox1 = .Cells(L, 1)
      Clickinter.TextBox2 = .Cells(L, 2)
      Clickinter.TextBox3 = .Cells(L, 4)
      Clickinter.TextBox4 = .Cells(L, 5)
      Clickinter.TextBox5 = .Cells(L, 6)
      Clickinter.TextBox6 = .Cells(L, 11)
     
    End With
     
    End Sub
    Merci d'avance,

    Valentin .

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Je pense que tu gagnerais à lire et analyser cette discussion récente :
    http://www.developpez.net/forums/d16...e/#post8751492
    et à t'en inspirer largement.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 70
    Points : 17
    Points
    17
    Par défaut
    Alors, j'imagine que tu parles donc de la propriété controlsource ...

    En effet, je pense avoir un problème d'adresse, et non de récupération de données. Car, dans mon fichier, J'ai des récupérations de données dans des textboxs lors d'un SIMPLE click sur une ligne, MAIS dans le même Userform, tandis que la, ça m'ouvre un userform différent, donc un peu de mal a comprendre ...

    De plus, il y a un autre soucis, c'est que ma feuille se nomme "Stock Maintenance"... et dans la codification, il me semble qu'il ne supporte pas les espaces ? y a t-il un moyen pour l'espace dans le nom de la feuille, ou faut t-il l'enlever et que je reprenne tout mon code ?

    Merci,

    Valentin.

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Ni l'une ni l'autre des deux différences que tu mets en exergue ne changent quoi que ce soit au mécanisme dont il s'agit. A moins que tu ne saches toujours pas invoquer, depuis un userform, les objets d'une autre userform !
    En ce qui concerne les espaces dans les noms des feuillets, ils compliquent, certes, mais très peu. Je donne personnellement toujours la préférence à des noms ne contenant ni espace, ni lettres accentuées. Cela soulage l'exécution.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 70
    Points : 17
    Points
    17
    Par défaut
    Effectivement, je ne sais toujours pas invoquer, depuis un userform, les objets d'un autre userform ... je pense que le problème est la !

    Pour ce qui est du nom de ma feuille, je vais donc enlever l'espace sur ma feuille, et donc dans mon code.

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Userformy.controlea.propriétéx = valeurmachin fait que l'on donne, depuis n'importe quel endroit où ce code est écrit, la valeur valeurmachin à la propriété propriétéx d'un contrôle controlea existant sur un userform UserFormy.
    Ceci étant dit; L'abnalyse du code vers lequel je t'ai renvoyé, te permettrait de voir que seule la variable toto (qui est un N° de ligne) est utilisée pour remplir les textboxes.
    Il suffit donc que cette variable toto soit déclarée publique pour qu'elle soit accessible de partout. Et là : même pas besoin d'invoquer les contrôles de l'autre userform.
    Si cela ne te "parle" pas non plus, cela voudrait dire que tu ne t'es toujours pas intéressé non plus à ce qu'est la portée d'une variable et comment on en décide (le B.A.BA, quoi ...)
    Je te laisse maintenant.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

Discussions similaires

  1. [XL-2007] Double click sur base de données
    Par Sempre5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/07/2014, 12h17
  2. récuperer contenu par double click ?
    Par mauyebo dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/02/2009, 17h05
  3. Evenement double click sur une ligne d'un DataGrid
    Par imad_eddine dans le forum ASP.NET
    Réponses: 7
    Dernier message: 19/11/2007, 17h24
  4. Evenement double CLICK sur JTable
    Par ghotique dans le forum Composants
    Réponses: 1
    Dernier message: 16/02/2007, 00h16

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