Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Userform VBA sous Excel



  1. #1
    totor6789

    Userform VBA sous Excel


    ------

    Bonjour,

    j'ai une question assez simple en VBA (je suis débutant!) :

    J'ai crée un Userform, mais au lieu d'enregistrer les valeurs saisies dans ma feuille excel
    j'aimerais que le lien vers le Userform rempli s'affiche dans une case après avoir cliquer sur un bouton "enregistrer" sur mon Userform.
    En cliquant sur le lien j'aimerais que le Userform rempli s'affiche.

    Comment faire cela??

    Merci!

    -----

  2. Publicité
  3. #2
    umfred

    Re : Userform VBA sous Excel

    Si j'ai bien compris, tu as un userform dans lequel tu mets des valeurs et quand tu appuies sur un bouton du userform, les valeurs sont mises dans le feuille excel. et tu voudrais que ces données ne soient pas dans excel mais "quelque part" et qu'en cliquant sur un lien, un bouton de ta feuille excel, cela fasse apparaitre le userform avec les valeurs correspondant à ce "quelque part" ?
    si oui, le "quelque part" doit forcément être un endroit connu (un fichier, un enregistrement dans une base de données, une feuille excel (ou une zone d'une feuille excel)) mais ne peut en aucun cas être le userform en lui même
    le userform n'est qu'une interface de saisie.
    Pour essayer de faire simple, le bouton "enregister" enregistre les données saisies dans le userform à un endroit connu et facilement repérable. Et il faut un bouton "lire" auquel tu fournit par exemple un numéro d'enregistrement (la valeur contenu dans une cellule en particulier par exemple) et qui va chercher les valeurs de cet enregistrement avant de les afficher dans le userform.

  4. #3
    Xoxopixo

    Re : Userform VBA sous Excel

    Bonjour,

    Citation Envoyé par Totor6789
    J'ai crée un Userform, mais au lieu d'enregistrer les valeurs saisies dans ma feuille excel
    j'aimerais que le lien vers le Userform rempli s'affiche dans une case après avoir cliquer sur un bouton "enregistrer" sur mon Userform.
    En cliquant sur le lien j'aimerais que le Userform rempli s'affiche.
    Tu veux rendre une cellule d'une feuille excel active dans le sens où lorsque tu cliques dedans, l'userform apparait.
    La cellule "active" est formatée de manière à ce que l'utilisateur sache que quand il clique dessus, il va ouvrir l'userform.

    Initialement, les champs de l'userform ont une valeur par défaut.
    Lorsque tu cliques sur un bouton de l'userform que tu as labelisé "enregistrer", les valeurs des champs de l'userform s'enregistrent quelque-part.
    Et le userform se ferme (ou n'apparait plus).

    Lorsque tu reclique sur la cellule active, l'userform s'ouvre à nouveau avec les valeurs dans les champs prenant les mêmes valeurs que quand le userform a été "fermé".

    En fait, le problème de l'enregistrement des valeurs des champs de l'userform est un faux problème.
    Il suffit de masquer la fenetre userform plutot que de la fermer.
    Lorsqu'elle est à nouveau visible, les champs n'auront pas changés.

    Ensuite, pour mettre la propriété de la fenetre userform à visible=yes ou no, il faut détecter le clic sur la cellule excel idoine.
    Pour celà, on fait appel à un événement un peu comme ça :
    Code:
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
    
    C = Target.Column
    R = Target.Row
    
    End Sub
    Reste à tester les valeurs C et R pour identifier le cas où on a cliqué sur la bonne cellule, puis de rendre l'userform visible à nouveau.
    Avec un code un peu comme ça :
    UserForm.Show
    et
    Userform.Hide au niveau de l'évènement Onclick du bouton enregistrer de l'userform.
    En bon vivant, rien ne vaut un bonne logique ternaire.

  5. #4
    umfred

    Re : Userform VBA sous Excel

    Citation Envoyé par Xoxopixo Voir le message
    En fait, le problème de l'enregistrement des valeurs des champs de l'userform est un faux problème.
    je pense au contraire que ce n'est pas un faux problème, car si le classeur est fermé, les valeurs saisies sont perdues. Il n'y aura que les valeurs "par défaut" lorsque le classeur sera de nouveau ouvert.

  6. A voir en vidéo sur Futura
  7. #5
    Xoxopixo

    Re : Userform VBA sous Excel

    Citation Envoyé par Umfred
    je pense au contraire que ce n'est pas un faux problème, car si le classeur est fermé, les valeurs saisies sont perdues. Il n'y aura que les valeurs "par défaut" lorsque le classeur sera de nouveau ouvert.
    C'est vrai aussi.
    Il faudrait donc peut-être mixer les deux methodes ?
    En bon vivant, rien ne vaut un bonne logique ternaire.

Discussions similaires

  1. petit jeu sous excel vba
    Par ad78760 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/05/2011, 11h36
  2. [VBA]Inserer graphique avec plusieurs séries dans un UserForm
    Par geanman dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 28/08/2010, 21h10
  3. Solveur EXCEL 2002 en VBA sous Windows 7
    Par mécano41 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 08/12/2009, 11h22
  4. moyenne sous excel via VBA/macro/bouton
    Par rougesang dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 27/10/2009, 18h48
  5. programmation vba sous excel
    Par Nono les gazzz dans le forum Logiciel - Software - Open Source
    Réponses: 19
    Dernier message: 26/02/2009, 16h23