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 :

Valeur textbox en fonction d'une autre [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Marketing
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Valeur textbox en fonction d'une autre
    Bonjour à toute la communauté !

    Je cherche à faire quelque chose de très simple (j'imagine) pour quelqu'un qui touche en VBA.

    Description :

    Dans le userform1, je voudrais faire en sorte que selon la valeur de la textbox1 (code article), la textbox8 affiche l'équivalent retrouvé dans la feuille "liste" dans le tableau "code article/dénomination".
    En gros, quand je saisis le code article, la valeur associée (dénomination) s'affiche dans la textbox8.

    Merci du coup de pouce

    Le fichier :
    Marie claire.xlsm

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonsoir Jabbabi, bonsoir le forum,

    Comme il y avait des incohérences dans tes code j'ai changé pas mal de choses.
    • D'abord, tous les contrôles de l'UserForm1 qui renvoient des données dans le tableau (textboxes et comboboxes) ont leur propriété [Tag] modifiée. Elle correspond au numéro de la colonne dans laquelle doit être renvoyé la valeur du contrôle (convertie en Byte car elle est de type String). Voir l'intérêt dans le bouton Valider avec la première boucle qui permet de forcer l'utilisateur à éditer tous les contrôles et la seconde qui renvoie les valeurs dans le tableau de l'onglet Général...
    • Ensuite le nom des labels qui commence par "L" suivi du nom du contrôle auquel il fait référence... Pratique pour les messages des contrôles non renseignés...
    • Pour ton problème, j'ai remplacé la textbox par une combobox, ComboBox2. Ça me paraissait trop évident !
    • Dans le Gestionnaire de Nom, regarde le nom Code_article avec la formule Decaler qui permet d'avoir une plage nommée dynamique (qui s'adapte à l'ajout/suppression de données).
    • La ComboBox2 est alimentée par cette plage dynamique Code_article...
    • Comme le premier élément de la ComboBox2 a pour propriété
    [ListIndex]
    égale à zéro et qu'il se trouve sur la deuxième ligne de l'onglet Liste, on peut facilement récupérer le numéro de ligne avec la propriété
    [ListIndex]
    , il est égale à ComboBox2.ListIndex + 2. Il est ainsi facile d'attribuer à la TextBox8 la valeur de la cellule à coté.
    Le fichier avec le code commenté :
    Fichiers attachés Fichiers attachés
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Marketing
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Impressionnant Thautheme ! Merci beaucoup

    En fait, je n'y connais pas grand chose et je bricole en récupérant des bouts de code à droite à gauche. Ça me permet d'apprendre petit à petit
    Bien vu pour la combobox !

    C'est bien le comportement que je voulais pour les codes articles mais j'ai une erreur à la validation du formulaire. Et alors forcément, les histoires de tags, je n'y connais rien !
    Une idée ?

    Nom : Capture.PNG
Affichages : 411
Taille : 23,3 Ko

  4. #4
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonsoir Jabbabi, bonsoir le forum,

    Ça m'apprendra à ne pas tester le code... En pièce jointe la version 2 corrigée...

    Fichiers attachés Fichiers attachés
    À plus,

    Thauthème

    Je suis Charlie

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Marketing
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Salut Thautheme,

    Attention, tu files un mauvais coton !!
    Merci mille fois pour le code commenté, je me serai évidemment contenté du code sans le comprendre mais là, c'est Byzance !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Marketing
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Aie, me revoilà !

    J'ai l'impression que ma macro qui enregistre les infos du formulaire n'est plus valide. Tu as sûrement implémenter la fonctionnalité dans la tienne non ?
    Du coup, comment je fais pour décider où (la colonne) les valeurs saisies dans le formulaire vont s'inscrire ?

    J'ai rajouté une colonne et tout est décalé. Une idée ?

  7. #7
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Jabbabi,bonjour le forum,

    Modifie la propriété [Tag] des contrôles pour qu'elle corresponde à la colonne désirée. Pour cela, sélectionne le contrôle, dans la fenêtre des propriétés recherche la propriété [Tag], remplace l'ancienne valeur par le numéro de la colonne où doit être renvoyée la valeur du contrôle. Par exemple, si la valeur de la TextBox7 doit être renvoyée dans la colonne 4 (=D), tu attribues à la propriété [Tag] de la Textbox7 la valeur de : 4. Le code fait le reste...
    J'avais déjà expliqué cela dans le post #2 me semble-t-il...
    À plus,

    Thauthème

    Je suis Charlie

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Marketing
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Autant pour moi... C'était effectivement dans ton post 2.

    Merci pour ton temps Thautheme, tu m'enlèves une sacrée épine du pied !

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Marketing
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Salut Thautheme,

    Tout marche d'enfer et j'ai bien assimilé la façon dont tu avais pensé le fonctionnement. J'en apprends énormément du coup
    Petite question :

    Crois-tu qu'il soit possible de récupérer, en fonction de la valeur du fournisseur ET du code article, un valeur associée. Avec index et equiv, j'arrive à faire ce que je veux mais je ne sais pas comment intégrer cela dans le formulaire.

    Ex :
    Je demande Superdrob (fournisseur) et 24800013 (code article), et automatiquement, la valeur du prix dans l'onglet "prices hapi" correspondant à ces deux critères se retrouve affichée en face du code article et de la dénomination.
    Les prix sont récupérés d'une source externe via un petit module.

    Bon et après ça, je crois que je te devrais la vie

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

Discussions similaires

  1. [Toutes versions] Valeur colonne en fonction d'une autre
    Par DonKnacki dans le forum IHM
    Réponses: 16
    Dernier message: 20/04/2012, 15h56
  2. [MySQL] Apparition d'une textbox en fonction d'une valeur de liste recupérée
    Par jeremay dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/06/2009, 11h59
  3. Réponses: 1
    Dernier message: 10/02/2008, 19h56
  4. Réponses: 13
    Dernier message: 05/11/2007, 09h00
  5. Modifier la valeur d'un champ en fonction d'une autre...
    Par venividivici dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/08/2005, 14h28

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