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 :

Modification valeurs base de données via userform


Sujet :

Macros et VBA Excel

Vue hybride

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Par défaut Modification valeurs base de données via userform
    Chers tous, bonsoir

    Je persiste et signe donc dans ma question, et je suis désolé de ne pas avoir fait l'ENA

    Il s'agit du bouton "Modifier" que je n'arrive pas à faire fonctionner, il me sort à chaque fois l'erreur 70.

    En choisissant une valeur de la combobox1, liste des codes barre, on détermine la ligne dans laquelle la mise à jour se fait.

    La mise à jour se fait sur toutes les valeurs de la ligne, à l’exception des valeurs : code barre, nom du meuble et le nombre.

    Le lien entre le code barre, son nom et son nombre est impermutable, c’est pourquoi le nom du meuble et le nombre seront en Textbox dont la propriété Enabled sera False.

    Aux autres valeurs, il est prévu des Combobox, parce que la valeur remplaçante ne se créera pas mais sera dans la colonne même de la valeur remplacée.

    En cliquant sur le bouton Valider du UserForm3, on enregistre les valeurs sur la base de données [mise à jour], et en même temps on les consigne sur la feuille Mouvement.

    La valeur date contenue dans le UserForm3 sera transférée uniquement vers la feuille Mouvement, où la colonne lui est réservée.

    La feuille Mouvement recueillera les divers enregistrements l’un en dessous de l’autre au fur et à mesure des évènements.

    http://sd-1.archive-host.com/membres...3057/MAJBD.xls

    Amicalement, Kim.

  2. #2
    Membre éprouvé
    Avatar de wape
    Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Par défaut
    Bonjour,

    Dans UserForm3, il faut mettre à blanc la propriété RowSource du contrôle ComboBox1 (elle contient actuellement la valeur "BD!B2:B65536").

    wape

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Par défaut
    Bonjour wape, le forum,

    Merci wape pour la correction apportée

    En effet, la mise à blanc du RowSource de la Combobox1 a libéré l’affichage du UserForm3, un pas en avant, mais l’enregistrement des modifications est sans effet, j’ai même testé avec la mise à blanc du RowSource des 6 autres Combobox, les 6 listes déroulantes cessent de fonctionner. Voici ce que je voulais faire en fait :

    -1° lorsqu’une valeur [code barre] est choisie dans le combobox1, elle affiche dans les autres fenêtres (2 Textbox et 6 Combobox) du UserForm3 les valeurs qui lui correspondent dans la base de données, et que le déroulement des 6 autres Combobox soit libre afin de pouvoir choisir la valeur voulue.

    -2° ainsi, en modifiant les valeurs des 6 autres Combobox, et en validant par le bouton « Valider », on renvoie toutes les valeurs affichées sur UserForm3 [après modification] vers la base de données, et on enregistre alors dans la ligne qu’aura défini la Combobox1 les modifications apportées aux données des colonnes D, E, F, G, H et I.

    Classeur corrigé : http://sd-1.archive-host.com/membres...057/MAJBD2.xls

    Cordialement, Kim.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Par défaut
    Hi !

    avec des listbox c’est compliqué
    j’ai donc fait avec les moyens du bord, des textbox
    mot de passe pour la modification de la base de données = toto

    http://sd-1.archive-host.com/membres...057/MAJBD3.xls

    Amicalement, Kim.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Par défaut
    Bonjour le forum,

    Quelqu’un pourrait-il m’indiquer le moyen de remédier à ces 2 petits, tout petits pépins

    -1° lorsque des modifications sont faites [Bouton1 -> Modification -> Mdp toto], les enregistrements se font correctement sur la base de donnée, dans les lignes choisies par la combobox1 ; mais au lieu qu’ils se fassent dans le tableau de la feuille « Mouvement » sur des lignes juxtaposées l’une en dessous de l’autre au fur et à mesure des modifications, ils s’y inscrivent systématiquement sur les numéros de lignes correspondantes aux lignes modifiées dans la base de données.

    -2° lorsqu’on clique sur le bouton « Sélectionner », choisit une colonne et une ligne et clique sur le bouton « initialiser », l’initialisation se fait de manière aléatoire, tantôt bien, tantôt mal, le fait est que l’opération d’initialisation a bizarrement pour effet de déclencher le filtre automatique dans la première ligne de la base de données [titres des colonnes]. Ainsi, pour rétablir la fonction de sélection, il me faut revenir dans la base de données et désactiver le filtre automatique.

    http://sd-1.archive-host.com/membres...057/MAJBD3.xls

    Merci pour le coup de main, Kim.

  6. #6
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Par défaut Correction
    Bonjour ,

    J ai remanie ton code voir nouvelle version ci-joint

    Remarque : Feuille Mouvement la ligne verte ne pas supprimer et nommée "FinMouvement" sert index d'insertion voir le code .......

    Filtre Je prefere filtrer a la mano l'autofilter est merdique sous vba



    Bonne continuation

Discussions similaires

  1. Modification et suppression dynamique de liste de données via userform
    Par raf75002 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/03/2011, 14h43
  2. Modification de base de données ouvre un userform? possible?
    Par jon2050 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2007, 22h56
  3. [MySQL] Envoi d'information dans une base de donnée via formulaire
    Par Mysti¢ dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/03/2006, 20h35
  4. Accès aux bases de données via les objets de Borland (Bdpxx)
    Par agodinasandrien dans le forum Delphi .NET
    Réponses: 9
    Dernier message: 26/09/2005, 14h00
  5. Acces à une base de données via ODBC
    Par jyg dans le forum MFC
    Réponses: 4
    Dernier message: 23/03/2005, 14h56

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