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 :

Tableau Excel vers formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Tableau Excel vers formulaire
    Bonjour,
    Je suis un novice en programmation VBA su Excel. Et j'ai crée un formulaire de saisie pour apprendre et par la suite l'utiliser dans une petite association.
    Mon problème est de pouvoir à l'aide d'un bouton de commande "Modifier", "reprendre" les données enregistrées dans le tableau Excel de les "remettre" dans le Formulaire afin de pouvoir les modifier.

    Pouvez-vous, vous les professionnels me donner un "coup de main" ?
    Merci à l'avance.

    C'est un formulaire comprenant :
    • 5 Labels
    • 5 Texts box
    • 1 Bouton "Valider" (Qui fonctionne bien)
    • 1 Bouton "Modifier" (que je n’arrive pas à coder)
    • 1 Bouton "Quitter" (Qui fonctionne bien)



    Voici ci-dessous les codes que j'ai écris:

    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
    Option Explicit
    Dim Ws As Worksheet
     
    Private Sub cmdnouveau_Click()
        Dim L As Integer
            If MsgBox("Confirmez-vous l'insertion de cette nouvelle saisie ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
            'Pour placer le nouvel enregistrement à la premiere ligne du tableau, non vide
                L = Sheets("ESSAI 1").Range("A100").End(xlUp).Row + 1
                    Range("A" & L).Value = txtacte
                    Range("B" & L).Value = txtdaterencontre
                    Range("C" & L).Value = txtdatebapteme
                    Range("D" & L).Value = txtnom
                    Range("E" & L).Value = txtprenom
            End If
                Unload Me
                    UserForm1.Show
     
    End Sub
     
    Private Sub cmdmodifier_Click()
        Dim Ligne As Long
            Dim I As Integer
                If MsgBox("Confirmez-vous la modification de cette saisie ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
                    If txtacte = -1 Then Exit Sub
                        Ligne = txtacte + 2
                            Ws.Cells(Ligne, "B") = "txtdaterencontre"
                                For I = 1 To 5
                                    If txtacte("txtacte" & I).Visible = True Then
                                        Ws.Cells(Ligne, I + 2) = ("txtacte" & I)
                                    End If
                                Next I
                    End If
     
                    Unload Me
                        UserForm1.Show
     
      End Sub
     
    Private Sub cmdquitter_Click()
       Unload Me
     
    End Sub

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je ne comprends pas ce que tu attends. Quel est ton problème ? Dans quelle mesure ton code ne fais pas ce que tu souhaites ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut BSMAV
    Bonjour
    Je viens de voir votre réponse.
    En fait voilà ce qui se passe:
    Quand je clique sur le bouton "Modifier" de mon formulaire j'ai un message "Erreur 13" Incompatibilité de message.
    Et donc quand je "Débogue", sur les code VBA: la ligne "Ligne= txtacte +2" est surlignée en jaune montrant qu'il y a un problème.

    Ci-dessous, les codes du bouton "Modifier"

    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
    Private Sub cmdmodifier_Click()
    ' On défini les variables
            Dim Ligne As Long
            Dim I As Integer
            'Demande de confirmation avant enregistrement des modifications ou saisies
                If MsgBox("Confirmez-vous la modification de cette saisie ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
                    If txtacte = -1 Then Exit Sub
                        Ligne = txtacte + 2
                            Ws.Cells(Ligne, "B") = "txtdaterencontre"
                                For I = 1 To 5
                                    If txtacte("txtacte" & I).Visible = True Then
                                        Ws.Cells(Ligne, I + 2) = ("txtacte" & I)
                                    End If
                                Next I
                    End If
                 'On ferme le formulaire
                    Unload Me
                    'On réouvre le formulaire
                        UserForm1.Show
     
      End Sub
    Ci dessous le tableau que je souhaite modifier par le bouton de contrôle "Modifier", c'est à dire reprendre, par exemple la ligne 1.
    Par contre la saisie par mon formulaire se fait très bien
    Je suis désolé, mais je ne sais pas comment vous transmettre le formulaire afin que vous puissiez voir à quoi il ressemble.

    N° Acte Date Rencontre Date Baptême Nom Prénom
    1 12/02/2015 23/08/2015 Marc Jean
    2 23/02/2015 23/08/2015 Rabier Jules

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Bonjour,


    avec Val c'est pas mieux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Ligne = Val(txtacte) + 2

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Du coup, j'ai un message:
    Erreur d’exécution (91)
    Variable objet ou variable de bloc With non défini
    Et la ligne ci-dessous est en jaune.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ligne =Ws.Cells(Ligne, "B") = "txtdaterencontre"

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Et comment déclare tu ta variable WS ? ou est le code où tu lui affecte une feuille de ton classeur ?

    ensuite tu veux vraiment écrire dans ton classeur le texte : txtdaterencontre ou le contenu du text box : txtdaterencontre , dans le second cas il faut enlever les guillemets..

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut BSMAV
    Bonjour,
    Je suis désolé mais je pense que mon problème est tout simple pour vous, mais je pense aussi que j'exprime tres mal mon problème et, que si je pouvais vous communiquer juste mon tableau et mon formulaire, vous trouveriez la solution très rapidement.
    En fait je suis également désolé de vous "embêter", car je l'avoue je suis un "papi" et même en sachant "taper" sur un clavier je ne maitrise vraiment pas tout. Mais mon objectif est, d'abord d'apprendre et de rendre service "bénévolement" à des personnes âgées.
    Alors si vous pouvez m'indiquer la manière de vous transmettre mon fichier Excel, ce serai bien, car même avec ce forum, j'ai des difficultés, même pour transmettre une pièce jointe.
    Je vous remercie quand même de votre sollicitude, pour me répondre et du coup, j'hésite à continuer de vous "embêter" avec mes problèmes.

  8. #8
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par BSMAV Voir le message
    même en sachant "taper" sur un clavier je ne maitrise vraiment pas tout.
    Pourtant, tu as réussi à créer le code que tu as présenté, non ? Ou est-ce un code que tu as récupéré en supposant qu'il pourrait résoudre ton problème ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Membre éclairé Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Points : 758
    Points
    758
    Citation Envoyé par Oscar Wilde
    Je déteste les discussions: elles vous font parfois changer d'avis.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut BSMAV
    Citation Envoyé par Menhir Voir le message
    Pourtant, tu as réussi à créer le code que tu as présenté, non ? Ou est-ce un code que tu as récupéré en supposant qu'il pourrait résoudre ton problème ?
    Je suis désolé car je ne suis pas toujours présent (disponible) pour répondre dessuite..
    En fait j'ai changé la façon de récupérer les données de mon tableau en copiant de nouveaux codes et surtout j'y ai introduit un "ComboBox" afin qu'il ait une liste déroulante.
    Et cette liste déroulante me permet de faire une recherche sur les noms:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub cmdrechercher_Click()
    'On crée une variable qui est le N° de ligne
    Dim no_ligne As Integer
    'On lui donne une valeur
    'Comme il y a 2 lignes d'intitulée, on commence à la ligne 3
    no_ligne = Comborecherche.ListIndex + 3
    'On code les actions
        txtacte.Value = Cells(no_ligne, 1).Value
        txtdaterencontre.Value = Cells(no_ligne, 2).Value
        txtdatebapteme.Value = Cells(no_ligne, 3).Value
        txtnom.Value = Cells(no_ligne, 4).Value
        txtprenom.Value = Cells(no_ligne, 5).Value
     
    End Sub
    Et là cela fonctionne très bien pour remplir mon formulaire de saisie.
    Mais le problème est que dans mon formulaire, apparait très bien le Nom ainsi que le détail de ce nom écrit dans mon tableau et malheureusement j'en reviens au formulaire, si je modifie ( par exemple le prénom ou autre) tout est bien sauf qu'à la validation, c'est une autre ligne qui se crée sans modificatif de la ligne que j'ai appelé.
    Je sais, c'est un peu compliqué d'expliquer, mais pour moi ça l'ai d'autan.
    Nota: J’essaie de vous envoyer une PJ de mon tableau. J'avoue que pour moi ce n'est pas facile, mais je tente.Essais de saisies VBA 25 mars 2015.xlsm
    De toutes façon, je continue mes essais ce qui est bien, c'est qu'à mon age j’apprends de "super choses" intéressantes.
    Merci à vous, j'espère que je ne vous accapare pas de trop et je comprends bien que mon petit problème puisse vous déranger.

Discussions similaires

  1. tableau excel vers mysql
    Par phpaide dans le forum Outils
    Réponses: 9
    Dernier message: 13/12/2013, 09h55
  2. Export d'un tableau Excel vers Word
    Par Flo88 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/01/2009, 15h39
  3. export tableau excel vers word
    Par camzo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/10/2007, 18h53
  4. données tableau excel vers table access ?
    Par alexkickstand dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/09/2007, 21h11
  5. Transférer un tableau excel vers access avec VBA (bug)
    Par beegees dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/07/2007, 09h28

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