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 :

remplir label dans userform à partir d'un clic cellule d'un autre classeur


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    technicien qualité
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut remplir label dans userform à partir d'un clic cellule d'un autre classeur
    Bonjour,

    j'aurai besoin de votre aide pour pouvoir remplir un label d'un userform, quand je clic sur une cellule dans un classeur autre que celui où se trouve le userform.

    Plus clairement,

    - j'ai tout un ensemble de modules sur un classeur et un de ces modules ouvre un classeur et mon userform ( le classeur n'est pas toujours le même).
    - je voudrais quand je clic sur une cellule de ce classeur que un label dans mon userform affiche le contenu de la cellule sélectionnée.

    sur le principe ça a pas l'air super compliqué mais je galère....

    j'ai bien pensé à chercher si on pouvait faire quelques du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
     
    UserForm.Label2.Caption = Target.Value
     
    End Sub
    mais malheureusement j'ai rien trouvé de concluant.

    donc si vous avez une petites astuce pas super compliqué pour réaliser ce que je veut je suis preneur.

    merci par avance de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    UserForm ou UserForm1?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
     
    UserForm.Label2.Caption = Target.Value
     UserForm.show
    End Sub

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    technicien qualité
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    bonjour,

    ni l'un ni l'autre, mon UserForm à totalement un autre nom la c’était juste pour l'exemple mais à première vu cette fonction ne marche que pour le classeur où le Userform se trouve.

  4. #4
    Invité
    Invité(e)
    Par défaut
    je suis incapable de finir tes phrase!

    UserForm est un clase

    toto.show; MyUserForm.sow???????
    Dernière modification par AlainTech ; 05/09/2015 à 10h42. Motif: Suppression de la citation inutile

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    technicien qualité
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je comprends pas tous la...

    cette fonction peut fonctionner sur plusieurs classeurs ou juste sur le classeur où est créer mon UserForm?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
     
    UserForm.Label2.Caption = Target.Value
     UserForm.show
    End Sub
    pour tester cette fonction je l'ai mise dans "Thisworkbook" de mon projet, c'est bien la qu'elle est normalement placé?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    comment s'appel ton UserForm? je veux dire quel nom à ton UserForm?

    Google.Traducteur(how to call your UserForm? I mean what name to your UserForm?)

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    technicien qualité
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    mon UserForm s'appelle : "Observation1"

    je te l'accorde je ne m'exprime pas forcément toujours bien à l’écrit, mais ca sera pas mieux en anglais.

    Mais merci de prendre quand même du temps pour essayer de résoudre mon souci.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Observation1.Label2.Caption = Target.Value
    Observation1.show
    End Sub
    Et moi c'est Google.Traducteur

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu
    Bonjour
    je ne suis pas sur que tu te comprend toi meme

    résumé de la demande :

    je clique sur une cellule et la valeur de la cellule s'incrit dans le userform d'un autre classeur

    1 il faut utiliser l'evenement selectionchange dans le classeur ou tu clique

    2 au prealable il faut avoir déterminé quel est le classeur qui contient le userform et qu'il soit ouvert c'est un minimum et peut etre meme minimiser le classeur userform

    exemple
    dim WBK
    WBK=nomduclasseur.xl....


    et dans l'evenement de la cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    valeur=selction.value
    window (nom du classeur).activate
    nomde l'userform.show 0
    nomde l'userform.nomdu du label.caption=valeur  
    End Sub
    peut etre aussi faire précéder ces 3 lignes par "WBK."
    mais ca me parait assez rocamboleque de fonctionner comme ca
    peut etre faudrait il penser a mettre ton userform dans un XLA/XLAM et l'inclure dans les references de ton classeur il serait plus facile a atteindre
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    technicien qualité
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour Patrick,

    j'avoue que des fois je me perds moi même dans mes explications.

    1 je ne peut pas ajouter d’événement dans le classeur où je clique, car le classeur peut être différent à chaque fois et ce n'est pas moi qui crée les classeurs, j'en ai juste besoin pour récupérer des données.

    2 la classeur qui contient le Userform est toujours ouvert, c'est a partir de lui que sont lancé toute les procédures.


    je ne sais pas ce qu'est un XLA/XLAM, je suis pas contre une petite explication rapide.

    Rdurupt, je le place où ce bout de code ?

    je n'est pas précisé mais mon Userform est appelé après la validation d'un précédent Userform.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub suivant_Click()
     
    PFI = ComboBox1.Value
    Unload Me
    Call ouverture_fichier
    Observation1.Show 0
     
    End Sub

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bon c'est deja plus clair sur le fait que dans ta tete ca ne l'est pas du tout
    je te cite au depart
    Bonjour,
    j'aurai besoin de votre aide pour pouvoir remplir un label d'un userform, quand je clic sur une cellule dans un classeur autre que celui où se trouve le userform.
    je te cite dans ta derniere réponse
    1 je ne peut pas ajouter d’événement dans le classeur où je clique, car le classeur peut être différent à chaque fois et ce n'est pas moi qui crée les classeurs, j'en ai juste besoin pour récupérer des données.
    rien que ca répond a ta question

    il faut aborder le probleme carément sous un autre angle

    peut etre directement dans ton userform mettre un bouton qui declanche un inputbox type 8 si je ne me trompe pas te demandant de selectioner une cellule
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    technicien qualité
    Inscrit en
    Août 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Août 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    L'idée de inputbox n'est pas mauvaise mais le résultat ne me convient pas entièrement.

    Car il y a une action supplémentaire pour l'utilisateur et également car l'affichage dans l'inputbox est l'adresse de la cellule est non le contenu (mais je ne l'avais pas préciser dans ma demande).

    Actuellement j'ai un bouton de validation dans mon Userform qui mets à jour mon label, ce qui revient à la même chose que l'inputbox en terme de résultat. le But de mon label est juste que l'utilisateur soit sur d'avoir sélectionné la cellule avec le bon contenu.

    Si il n'y a pas de solution toute faite à mon souci je vais rester avec mon petit bouton de mise a jour, même si j'aurai préféré que ça se fasse automatiquement.

    merci du temps que vous avez accordé à mon souci.

Discussions similaires

  1. [XL-2007] Label dans Userform non actualisé
    Par magikmed dans le forum Excel
    Réponses: 1
    Dernier message: 29/06/2015, 14h15
  2. Réponses: 6
    Dernier message: 16/06/2011, 12h45
  3. [XL-2007] Entrée la valeur d'une cellule d'un autre classeur dans une variable
    Par Coco_O dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/05/2011, 16h25
  4. Réponses: 7
    Dernier message: 23/08/2010, 22h26
  5. Réponses: 5
    Dernier message: 06/04/2007, 14h05

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