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 :

alimentation label usf1 par valeur textbox usf2


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Par défaut alimentation label usf1 par valeur textbox usf2
    bonjour

    avec vos conseils et la lecture des forums je progresse tout doucement en vba mais la .......

    j'ai un "usf1 nouvelle vente" dans lequel je rentre Nom Prenom et Ville.
    en fonction de ces trois données j'effectue une recherche de doublons dans la feuille Clients, si doublons trouvés alors copies des lignes correspondantes dans une feuille "doublons" et affichage "usf12 plusieurs occurences".

    je bloque a ce niveau sur un truc certainement tout con.

    comment afficher dans un label de usf12 la valeur de TextBoxNom de usf1 ?

    j'ai bien essayé ceci mais cela marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UserForm12.Show
    UserForm12.Label6.Caption = UserForm1.TextBox2Nom.Value
    j'ai du zapper quelque chose mais quoi ?

    merci pour votre aide

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    en VBA le show est par défaut en mode modal. C'est a dire que le code qui suit reprendra quand la userform sera fermée.

    Essais en inversant les lignes

  3. #3
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Par défaut
    re

    donc mon usf1 me permet la saisie d'une vente, des que j'ai rempli nom, prenom et ville je teste si doublon sur VarNomPrenomVille dans feuilles clients et si doublons , j'affiche usf12 qui permet de selectionner adresse afin de continuer la saisie de ma vente

    je suis donc bien obligé d'afficher usf12 avant de remplir les labels de celui ci par la valeur des textbox de l'usf1 (nom prenom ville)

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    je suis donc bien obligé d'afficher usf12 avant de remplir les labels de celui ci par la valeur des textbox de l'usf1 (nom prenom ville)
    Non, le code ci dessous fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UserForm12.Label6.Caption = UserForm1.TextBox2Nom.Value
    UserForm12.Show

  5. #5
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Par défaut
    merci
    oui ca fonctionne mais quand meme bizarre de remplir les champs avant affichage

  6. #6
    Expert éminent


    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
    Par défaut
    Citation Envoyé par arthur83fr Voir le message
    merci
    oui ca fonctionne mais quand meme bizarre de remplir les champs avant affichage
    oui mais c'est moins bizarre que de le faire après la fermeture de la fenêtre... comme ton code initial

  7. #7
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,
    Citation Envoyé par arthur83fr Voir le message
    merci
    oui ca fonctionne mais quand meme bizarre de remplir les champs avant affichage
    Non, ce n’est pas bizarre fondamentalement
    vois dans les tutos de DVP pour comprendre ce qui se passe ainsi que les méthodes Show et Hide des USF ainsi que les Instructions Load et unload dans l’aide VBA

    En écrivant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UserForm12.Label6.Caption = UserForm1.TextBox2Nom.Value
    UserForm12.Show
    Par le fait dans ta ligne1 d’invoquer UserForm12 alors qu’il « n’existe pas », tu l’instancies de façon implicite, bref c’est comme si juste avant, tu avais écrit :
    Si pour ton exemple on considère 2 USF :
    • usfNouvelleVente avec un CommanButton cmdRun qui simule par son appui ton code de traitement.
    • usfNewOccurence avec un label lblCible

    on aurait par appui sur le bouton cmdRun de usfNouvelleVente le résultat via le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cmdRun()
    'Load usfNewOccurence ' écrit de façon implicite sur la ligne suivante, d'où l'avantage d'être explicite dans son code...
    usfNewOccurence.lblCible = usfNouvelleVente.txtNom
    usfNewOccurence.Show
    End Sub
    A mon avis, ce serait aussi bien d’utiliser directement l’évènementiel Initialize de ton UserForm12 nommé usfNewOccurence dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
    Me.lblCible = usfNouvelleVente.txtNom
    End Sub
    Pour certifier le raisonnement précédent tu peux faire ainsi :
    En ajoutant à usfNouvelleVente avec un CommanButton cmdRun2 avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdRun2_Click()
    Dim objUSFF As Variant
     
    usfNewOccurence.lblCible = usfNouvelleVente.txtNom
    Debug.Print UserForms.Count
    For Each objUSFF In UserForms: Debug.Print objUSFF.Name: Next objUSFF
    MsgBox "Pause"
    'Unload usfNewOccurence '' si on active cette ligne, on décharge l'USF non visible et du coup il est vierge = logique
    usfNewOccurence.Show
    End Sub
    La ligne 5 affiche le nombre de USF ouverts à cet instant dans la fenêtre exécution de l’éditeur VBE.
    La ligne 6 affiche les noms des ces USF
    La ligne 7 crée une pause permettant la visualisation des états avant l’instruction Show

    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue

    Didier

Discussions similaires

  1. [AC-2003] Remplacer plusieurs textbox par un label et une seule textbox
    Par buzz73 dans le forum IHM
    Réponses: 2
    Dernier message: 21/12/2009, 12h35
  2. [AC-2007] Alimenter une Liste par les valeurs d'une ligne
    Par curt dans le forum IHM
    Réponses: 11
    Dernier message: 19/04/2009, 12h00
  3. [MySQL] Alimenter une table par plusieurs formulaires et remplacer les valeurs existantes
    Par deshogues dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/03/2009, 17h49
  4. Modification auto d'un label selon valeur textbox
    Par vérokit dans le forum VB.NET
    Réponses: 5
    Dernier message: 14/03/2008, 14h07
  5. Réponses: 3
    Dernier message: 26/06/2007, 18h00

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