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 :

Sauvegarde données d'une Frame d'une user forme dans une page excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 2
    Par défaut Sauvegarde données d'une Frame d'une user forme dans une page excel
    bonsoir je voudrais pouvoir sauvegarder les données de mon user forme sur une page exel a côté sauf que mon user forme est constitué de plusieurs frame pour l'instant mon code est ainsi:

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Private Sub CommandButton4_Click()
     
    num = Sheets("données").Range("H65536").End(xlUp).Row + 1
    Sheets("données").Activate
    Range("H" & num).Value = Frame1
    Range("I" & num).Value = Frame2
    Range("J" & num).Value = Frame3
    Range("K" & num).Value = Frame4
    Range("L" & num).Value = Frame5
    Range("M" & num).Value = Frame6
    Range("N" & num).Value = Frame7
    Range("O" & num).Value = Frame8
    Range("P" & num).Value = Frame9
    Range("Q" & num).Value = Frame10
    Range("R" & num).Value = Frame11
    Range("S" & num).Value = Frame12
    Range("T" & num).Value = Frame13
    Range("U" & num).Value = Frame14
    Range("V" & num).Value = Frame15
    Range("W" & num).Value = Frame16
    Range("X" & num).Value = Frame17
    Range("Y" & num).Value = Frame18
    Range("Z" & num).Value = Frame19
    Range("AB" & num).Value = Frame20
    Range("AC" & num).Value = Frame22
    Range("AD" & num).Value = Frame23
    Range("AE" & num).Value = Frame26
    Range("AF" & num).Value = Frame25
    Range("AG" & num).Value = Frame27
    Range("AH" & num).Value = Frame28
    Range("AI" & num).Value = Frame29
    Range("Aj" & num).Value = Frame30
    Range("AL" & num).Value = Frame31
    Range("AM" & num).Value = Frame32
    Range("AN" & num).Value = Frame33
    Range("AO" & num).Value = Frame34
    Range("AP" & num).Value = Frame35
    Range("AQ" & num).Value = Frame36
    Range("AR" & num).Value = Frame37
    Range("AS" & num).Value = Frame38
     
    Unload UserForm2
     
    End Sub
    Nom : Capture.PNG
Affichages : 133
Taille : 55,6 Ko
    voila un exemple d'une de mes page de ma userform, je voudrais que sa sauvegarde le nom du choix et non que sa me mette si la valeur est vrai ou fausse, est ce que se serais possible.
    Je vous joint le fichier si vous voulez y voir plus clair.
    essai 2.xlsm
    voilà voilà
    bonne fin de journée à tous et merci d'avance.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    il faut que tu balaies les Frames, puis les OptionButtons dans les frames pour trouver celui qui est True.
    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
    23
    24
    Private Sub CommandButton4_Click()
        Dim ctrl As Control, ctrl2 As Control
        Dim lig As Long, col As Long
        lig = Sheets("données").Range("H65536").End(xlUp).Row + 1
        col = 8
     
        With Sheets("données")
            For Each ctrl In UserForm2.Controls
                If TypeName(ctrl) = "Frame" Then
                    .Cells(1, col) = ctrl.Name ' ou ctrl.Caption
                    For Each ctrl2 In ctrl.Controls
                        If TypeName(ctrl2) = "OptionButton" And ctrl2.Value = True Then
                            .Cells(lig, col) = ctrl2.Caption
                            Exit For
                        End If
                    Next ctrl2
                    col = col + 1
                End If
            Next ctrl
        End With
     
        Unload UserForm2
     
    End Sub
    J'ai préféré ajouter les noms des Frames car tu as un trou (21).
    eric

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 2
    Par défaut
    Merci sa fonctionne niquel chrome

    Et si par exemple je voulais enregistrés les données de mes deux userformes sur un fichiers texte en plus de l'enregistrement sur la feuille exel, je devrais écrire quoi?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Tu as cherché un peu sur google ?
    Parce que les tutos pour écrire dans un fichier texte ne manquent pas.
    eric

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/11/2011, 17h47
  2. Réponses: 3
    Dernier message: 11/07/2009, 01h34
  3. appeler une user form dans le fichier Excel
    Par Djawida dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/06/2009, 15h09
  4. Réponses: 5
    Dernier message: 04/12/2008, 15h58
  5. Réponses: 4
    Dernier message: 04/07/2008, 10h34

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