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 :

Garder en mémoire les données introduites dans mon userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 111
    Points : 50
    Points
    50
    Par défaut Garder en mémoire les données introduites dans mon userform
    Bonjour,
    J'aimerais conserver en mémoire lors d'une réouverture de mon fichier excel les données précédemment introduite dans mon userform.
    J'arrive à les stocker sur une autre page mais je ne parviens pas à aller les rechercher.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub JoursFeries_Click()   'quand je clic sur un bouton, mon userform s'ouvre
      userform1.Show
     
    For i = 1 To 30
        For j = 2 To 11
            userform1.Controls("TextBox" & i).Value = Sheets("data vba").Range("B" & i + 1).Value
        Next
      Next
     
    'ou même plus simplement pour un test :
    userform1.textbox1.value=sheets("data vba").range("B2").value
     
    End Sub
    merci d'avance

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    A mettre dans le module de ta Form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Private Sub UserForm_Terminate()
     
        Dim Ctrl As MSForms.TextBox
        Dim I As Integer
     
        I = 1
     
        For Each Ctrl In Me.Controls
     
            I = I + 1
            Worksheets("data vba").Range("B" & I).Value = Ctrl.Text
     
        Next Ctrl
     
    End Sub
    Dans ton code, la boucle interne "J" (For j = 2 To 11) ne sert strictement à rien si ce n'est de répéter inutilement 9 fois la même commande

    Hervé.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 111
    Points : 50
    Points
    50
    Par défaut
    Merci pour ton aide Theze mais je pense que ce n'est pas exactement ce que je recherche. Pour le J, abandonnons le pour le moment ainsi que le I

    Voici plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub JoursFeries_Click()
     
    userform1.Show
     
    userform1.textbox1.value=sheets("feuil2").range("B2").value
    'c'est ce dernier code qui ne renvoie pas la valeur de la cellule B2 comme je le souhaiterais lors de la réouvertue de mon fichier..
     
     
    End Sub

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Re,

    Deux façons de faire :
    La Form est modale (afin qu'elle garde le focus et empêche de retourner aux feuilles de calcul avant sa fermeture, utiliser pour obliger le renseignement des divers contrôles), il te faut d'abord la charger en mémoire puis remplir le champ et seulement ensuite l'afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub JoursFeries_Click() 'quand je clic sur un bouton, mon userform s'ouvre
     
        'charge la form en mémoire
        Load UserForm1
     
        'inscrit la valeur dans la textbox
        UserForm1.TextBox1.Value = Sheets("Feuil2").Range("B2").Value
     
        'puis affiche
        UserForm1.Show
     
    End Sub
    La Form est non modale et dans ce cas, ton code fonctionne mais alors là, l'utilisateur peux retourner aux feuilles de calcul tout en ne renseignant pas les champs de ta Form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub JoursFeries_Click() 'quand je clic sur un bouton, mon userform s'ouvre
     
        UserForm1.Show
     
        'inscrit la valeur dans la textbox
        UserForm1.TextBox1.Value = Sheets("Feuil2").Range("B2").Value
     
    End Sub
    Hervé.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 111
    Points : 50
    Points
    50
    Par défaut
    parfait avec le Load userform, cela marche très bien !!

    j'avais essayé avec load mais comme un malin, je le mettais après userform.show.. !

    Un grand merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conserver les données entrées dans mon userform
    Par bidochon34800 dans le forum VBA Word
    Réponses: 15
    Dernier message: 11/06/2014, 10h23
  2. [XL-2007] Userform : Garder en mémoire les données
    Par Tindjisix dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/05/2013, 22h18
  3. [Toutes versions] Conserver les données rentrées dans un Userform
    Par mikeactuaire dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/08/2011, 22h38
  4. Réponses: 2
    Dernier message: 08/05/2008, 07h24
  5. Réponses: 7
    Dernier message: 07/07/2006, 12h23

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