Actualiser un userform

sebyyy -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,

Je suis débutant dans les VBA et je suis en train de créer un petit programme.

J'ai créé un UserForm avec des Labels et j'aimerais qu'il se mette à jours automatiquement sans que j'aille besoin de cliquer dessus.

Donc, quand je modifie une cellule dans la feuille Excel, je veux qu'il change en même temps sur l'userform. Car j'utilise la feuille Excel et l'userform en même temps.

j'ai actuellement le code suivant :

Private Sub dernum_Click()
dernum.Caption = ActiveSheet.Range("A1").Value
End Sub

Est-ce que quelqu'un à une solution pour moi ?

Merci d'avance

6 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Pour faire cela il faut mettre ton UserForm comme indiqué ici:

    https://silkyroad.developpez.com/VBA/UserForm/#LIII-A-2

    Ensuite tu vas dans le module de la feuille concernée avec ce code:

    a adapter
    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
    UserForm1.Label1.Caption = Target.Value
    End If
    End Sub
    


    0
    1. sebyyy
       
      Merci pour ton message

      Malheureusement, je n'arrive pas à le faire fonctionner... je sais pas si je le mets dans le bon espace VBA ou si je fais faux dans la fonction...

      Quand j'insère ton code, mon UserForm s'ouvre, je peux travailler sur ma feuille Excel mais aucune modification ne se fait.

      :-/
      0
      1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > sebyyy
         
        Tu fais Alt F11 sur la feuille concernée. Cela ouvre l'éditeur. C'est là qu'il faut mettre le code

        Voici la méthode employée

        https://forum.excel-pratique.com/viewtopic.php?t=1314

        @+ Le Pivert
        0
  2. sebyyy
     
    Est-ce que tu crois que tu peux m'aider si je te transmets mon fichier Excel ?
    Car là je sais bientôt plus ou j'en suis... je n'y arrive pas... enfin j'arrive à mettre le code à la bonne place mais rien ne se passe...
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Mettre le classeur sans données confidentielles ici, ensuite coller le lien ainsi obtenu sur ce post

      https://www.cjoint.com/

      @+
      0
  3. sebyyy
     
    https://www.cjoint.com/c/JAcszgI68Rg

    voici le lien

    Merci
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      voilà

      https://www.cjoint.com/c/JActhUE525Q

      @+
      0
  4. sebyyy
     
    Merci pour le fichier

    Mais je comprends toujours pas pourquoi, il s'actualise pas tout seul... Chaque fois que je modifie, je dois retourner sur la cellule concernée pour faire la modification.

    tu crois que c'est possible ?

    Merci
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Chaque fois que je modifie, je dois retourner sur la cellule concernée pour faire la modification.

      c'est normal il faut qu'il y ai une sélection pour chaque changement

      au post 3 je t'ai donné un lien. Lis le!
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sebyyy
     
    Après plusieurs essais, j'abandonne... je suis que débutant dans les VBA
    mais merci quand même pour ton aide
    0
  7. sebyyy
     
    Salut cs_Le Pivert,

    Mon histoire me travaille... est-ce que je pourrais te demander une dernière fois de me mettre mon fichier comme demandé ? Quand j'ai une idée en tête j'ai du mal à la lâcher... Merci pour ta réponse
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      voilà une solution avec le clavier seul. On n'utilise plus la souris:

      https://www.cjoint.com/c/JAhlm6hb1iQ

      @+ Le Pivert
      0
    2. sebyyy Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   > cs_Le Pivert Messages postés 8437 Statut Contributeur
       
      Oui en quelque sorte... sauf que ma cellule "A1" est une RECHERCHEV donc je ne vais pas inscrire dans cette cellule.

      C'est à partir de la "feuille3" en insérant un numéro dans la colonne "B" que ma cellule "A1" de ma "feuille2" va changer.

      En fait, je sais pas si c'est faisable... c'est peut-être impossible, je sais pas...
      0
    3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > sebyyy Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
       
      Tu supprimes le code du module de la feuille2 et tu mets ceci dans le module de la feuille3:

      Option Explicit
      'L'evenement se déclenche au changement de sélection
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
      If Target.Value = "" Then Exit Sub
      Sheets("Feuil2").Range("A1").Value = Target.Value
      Sheets("Feuil2").Select
      LOTOVérif_écran.Show
      End If
      End Sub
      


      dans le module de ton UserForm LOTOVérif_écran tu changes et tu mets cela:

      Option Explicit
      Private Sub UserForm_Activate()
      dernum.Caption = Range("A1").Value 'adapter la cellule
      End Sub
      
      


      Voilà
      0
    4. sebyyy Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   > cs_Le Pivert Messages postés 8437 Statut Contributeur
       
      Merci pour les codes mais maintenant quand je fais ma sélection de numéros, mon USF ne s'actualise pas... donc mon label "dernum" ne change pas le numéro demandé...

      https://www.cjoint.com/c/JAirniFX3Eg
      0
    5. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > sebyyy Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
       
      Voilà

      https://www.cjoint.com/c/JAir52LUaFQ

      @+
      0