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 :

créer un bouton "modifier" au sein d'un formulaire [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Février 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 12
    Par défaut créer un bouton "modifier" au sein d'un formulaire
    Bonjour,
    j'ai une combo dont sa sélection affiche les données dont leur champ respectif: pas de pb. Je souhaite pouvoir les modifier et enregistrer ces modifications sans que cela crée une ligne supplémentaire. Je n'arrive pas à gérer cette notion d'index car je pense que le code de mon bouton "Modifier" doit ressembler à celui du bouton "Enregister" (qui fonctionne très bien) mais avec la notion d'index pour ne modifier que la ligne concernée:

    Le code de la combo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CBO_RECHERCHE_Change()
     
       Set maBDD = Sheets("bdd fournisseurs")
       Ligne = [C2].Offset(CBO_RECHERCHE.ListIndex, 0).Row
       Me.TextBox1 = maBDD.Cells(Ligne, 1)
       Me.TextBox2 = maBDD.Cells(Ligne, 2)
       Me.TextBox3 = maBDD.Cells(Ligne, 3)
       Me.TextBox4 = maBDD.Cells(Ligne, 4)
    End Sub
    Mon bouton "Enregistrer":
    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
    Private Sub CommandButton5_Click()
     'on enregistre les données saisies
     
     L = Sheets("bdd fournisseurs").Range("a65536").End(xlUp).Row + 1
     
            Sheets("bdd fournisseurs").Range("A" & L) = TextBox1.Value
            Sheets("bdd fournisseurs").Range("B" & L) = TextBox2.Value
            Sheets("bdd fournisseurs").Range("C" & L) = TextBox3.Value
            Sheets("bdd fournisseurs").Range("D" & L) = TextBox4.Value    
     
            'on réactive le bouton Nouveau
            CommandButton6.Enabled = True
     
            TextBox1.Value = ""
            TextBox2.Value = ""
            TextBox3.Value = ""
            TextBox4.Value = ""
     
    End Sub
    Merci d'avance pour vos conseils.

    Cdlt.

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Salut,

    C'est pas très facile de démêler ton code spaghetti, mais si je comprend bien, quand tu cliques sur enregistrer, ça n'enregistre pas sur la bonne ligne!
    Dans ta Private Sub CBO_RECHERCHE_Change, tu récupère le bon numéro de ligne, dans la variable locale L.
    Tu n'as qu'à en faire une variable de portée module, pour pouvoir lire sa valeur dans Private Sub CommandButton5_Click()

    Cordialement,

  3. #3
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Février 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 12
    Par défaut
    Bonjour,
    le bouton enregistrer fonctionne car je l'utilise uniquement pour des créations, de founisseurs dans mon cas.
    Je souhaite un second bouton qui modifie les infos que j'ai sélectionné via ma combo.
    Le vrai pb est que je suis plus habitué au code de WinDev mais là je dois absolument le faire dans Excel et je patauge un peu !!
    Merci.

  4. #4
    Membre éclairé Avatar de RastaBomboclat
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2014
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 240
    Par défaut
    Bonjour,

    Pourrais-tu regarder ce lien interessant où Philippe Tulliez a fait le CRUD?

    Le Lien

    Je viens de me rappeler de ce fichier (en annexe) que j'ai reçu ici même sur le site il y a un ou deux ans déjà, et qui pourrait aussi servir.


    Merci de mettre un si la reponse a servie et un si le sujet est résolu.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Février 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 12
    Par défaut
    Bonjour et merci pour ce lien... une mine d'or.
    J'ai trouvé réponse à toutes mes interrogations.
    cdlt.

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

Discussions similaires

  1. [VB.Net] "Impossible de créer le handle de fenêtre"
    Par cedric_g dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/04/2006, 13h49

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