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 :

Enregistrer les données dans userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 108
    Par défaut Enregistrer les données dans userform
    Bonjour,

    Comment fait on dans un formulaire pour enregistrer les données qu'on tape depuis un clavier.

    J'ai un userform qui s'ouvre des que je clique sur un bouton et qui me propose des champs vides que je remplie en fonction de ce qui m'est demandé mais en fermant par la croix et je reclique sur le bouton il ne m'enregistre pas mes données entrées.

    Merci.

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonsoir,
    il faut donc sur un événement (clic sur un bouton ou sur Fermeture du formulaire) enregistrer les données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub CommandButton1_Click()
     Sheets("Feuil1").Range("B2") = TextBox1.Value
    End Sub

  3. #3
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Sur l'évennement "QueryClose" tu enregistre les valeurs de tes différents TextBox à la fermeture de la form. Ici, tu peux empêcher la fermeture de cette dernière si les conditions voulues ne sont pas remplies :
    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
    17
    18
    19
    20
    21
    22
     
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
     
     
        'ici ton code d'enregistrement, tu peux interdire
        'la fermeture si tous les champs ne sont pas rempli comme tu veux
        If TextBox1 = "" Then
     
            MsgBox "vous devez remplir le 1er champ !"
            Cancel = True
     
        End If
     
    End Sub
     
    'Ou alors :
     
    Private Sub UserForm_Terminate()
     
        'ici ton code d'enregistrement
     
    End Sub
    Hervé.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 108
    Par défaut
    Bonjour,

    Désolé mais je ne comprends pas tout les éléments.

    j'ai au moins une centaine de text box pour tous mes onglets de mon formulaire.

    Dois-je specifier par le code chaque text box ou y'a til un moyen d'enregistrer d'ou les text box automatiquement sans les spécifier une a une ?

    merci

  5. #5
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Hé bien c'est celui que t'as donné hélas (c'est un exemple bien sûr !). Il te faut adapter le code à tes besoins car c'est juste une piste qu'on te donne, il te faut peut être boucler sur tes contrôles afin de vérifier si tous tes TexBox sont remplis ? Ton code d'enregistrement, c'est où tu veux tranférer tes valeurs ! :
    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
    17
     
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
     
     
        'tu peux interdire
        'la fermeture si tous les champs ne sont pas rempli comme tu veux
        If TextBox1 = "" Then
     
            MsgBox "vous devez remplir le 1er champ !"
            Cancel = True
     
        End If
     
        'ton code d'enregistrement, adapte...
        Sheets("Feuil1").Range("B2") = TextBox1.Value
     
    End Sub
    Hervé.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 108
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub CommandButton1_Click()
     Sheets("Feuil1").Range("B2") = TextBox1.Value
    End Sub
    Par contre le code ci-dessus signifie qu'on stocke les valeurs entrés dans la textbox1 dans la feuil1 cellule B2.

    la feuil1 doit correspondre à la feuille courante ou s'ouvre mon formulaire par le biais de mon bouton valider ???

    si j'ai 5 textbox, je dois entrer le code suivant par exemple. ai je le droit de stocker mes données dans les même cellules ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
    Sheets("Feuil1").Range("B2") = TextBox1.Value
    Sheets("Feuil1").Range("B2") = TextBox2.Value
    Sheets("Feuil1").Range("B2") = TextBox3.Value
    Sheets("Feuil1").Range("B2") = TextBox4.Value
    Sheets("Feuil1").Range("B2") = TextBox5.Value
    End Sub
    merci si vous avez un faq je suis preneur

Discussions similaires

  1. Réponses: 15
    Dernier message: 18/01/2014, 14h39
  2. Enregistrer les données dans une nouvelle feuille
    Par khantouch dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/07/2013, 11h29
  3. Réponses: 1
    Dernier message: 26/06/2013, 17h21
  4. Réponses: 14
    Dernier message: 31/05/2011, 16h53
  5. [MySQL] Enregistrer les données dans la base de données
    Par reckahomis1 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/06/2008, 17h25

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