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 :

mise a jour d'un formulaire a partir d'une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut mise a jour d'un formulaire a partir d'une feuille
    Bonjour a tous,

    Voilà, J'ai créé un formulaire qui vient rechercher des valeurs d'un fichier excel.
    J'aimerais savoir comment faire pour qu'une modification de donnée dans la feuille entraine la mise a jour automatique dans mon formulaire, sans passé par un bouton mise a jour.

    je renseigne mes zones de textes de la façon suivante:
    FL correspond a la feuille et FenetreFMESUser a mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set FL = Workbooks("FMES-" & NomProjet & ".xls").Worksheets("FMES Equipement")
     FenetreFMESUser.LblLambdaTot.Value = (FL.Range("D" & i).Value)
    Merci a tous pour votre aide

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Bonjour,
    Tu peux reaffecter les valeur a ton formulaire lors de l'evenement Change ou afterupdate de ta feuille (lis l'aide pour voir les differences et choisir le mieux pour toi).

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Merci tonton fred

    Mais l'évènement _Change() ou AfterUpdate() ne se fait-il pas du formulaire vers la feuille, moi je voudrais le faire de la feuille vers le formulaire

    J'ai appliqué des _Change() a certaine TextBox pour pouvoir faire les mise a jour du formulaire vers la feuille mais pour faire l'inverse . Mes valeurs s'affectent sur le formulaire à l'initialisation, et je voudrais pouvoir faire des modifications dans ma feuille et quelles soient prises en compte sans de nouveau initialiser le formulaire.

    Une sorte de lien mais entre, une feuilles et un formulaire.

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Change et Calculate existent aussi pour les feuilles (pas afterupdate, je me suis trompe) Mais j'ai pense a un truc: est ce qu'il est possible de modifier la feuille avec le formulaire ouvert ?

    Si oui dans le sheet tu met quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Calculate() 'dans la sheet 
    Userform1.TextBox1=...
    End Sub
    Si non alors il faut changer l'initialisation du form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize() 'dans l'userform
    TextBox1=...
    End Sub

  5. #5
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    est ce qu'il est possible de modifier la feuille avec le formulaire ouvert
    Bah je suppose que oui mais ca n'est pas ce que je recherche
    Citation Envoyé par tonton fred
    Si non alors il faut changer l'initialisation du form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Code :
    Private Sub UserForm_Initialize() 'dans l'userform
    TextBox1=...
    End Sub
    tu veux dire que j'affecte a TextBox1= la valeur de la feuille a l'initialisation du formulaire?

    si c'est ça, c'est que je fais déja. Mais lorsque j'ai mon formulaire d'ouvert et que je change une donnée de ma feuillle, mon formulaire ne s'actualise pas.

    je vais voir ça je te tiens au courant
    merci tonton fred

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Regarde , il y a un fichier joint qui fait ça. Tu peux le charger, il ne mord pas Il te restera à adapter.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    bonjour
    j ai essayé ceci et ca marche (ds mon contexte)
    tout d abord in faut ouvrir le userform en non modal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    UserForm1.Show 0
    'ensuite a l evenement change de la feuille que tu veux
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    UserForm1.TextBox1.Value = Worksheets(1).Cells(1, 1).Value
    End Sub

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/01/2015, 10h13
  2. [AC-2007] Mise a jour d'un formulaire a partir d'une liste déroulante d'un autre formulaire
    Par Daniel-Gérald dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/08/2014, 09h33
  3. [AC-2010] Mise a jour d'un formulaire a partir d'un autre formulaire
    Par oneprod dans le forum Access
    Réponses: 1
    Dernier message: 02/09/2013, 13h27
  4. Réponses: 1
    Dernier message: 13/01/2011, 11h45
  5. Réponses: 4
    Dernier message: 12/10/2009, 14h46

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