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 :

Comment modifier des listes dans une feuille avec une textbox


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
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Par défaut Comment modifier des listes dans une feuille avec une textbox
    Bonjour à tous,

    j'ai créer un userform pour pouvoir modifier une liste de nom sur une feuil protégé par mot de passe.
    j'arrive à enlever la protection de la feuil avec le userform mais je rencontre encore un petit problème.
    Mon problème est que lorsque je sélectionne un nom dans ma listbox le prenom et le nom vont dans ma textbox1 et textbox2.
    quand je fais ma modification dans la textbox1 par exemple, et que je clic sur le bouton ok la nouvelle valeur de mes textbox
    ne remplace pas les ancienne valeur sur la feuil. En vrai rien ne se passe. J'ai essayé de coder avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton2_Click()
    ListBox1.List(List.ListIndex).Value = TextBox1.Value
    End Sub
    pouvez vous m'aidez à résoudre mon problème. Je vous en remercie par avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Ton problème n'est pas très clair...
    La listbox est sur la feuille ?

    Quoiqu'il en soit, tu as une erreur dans ton code au niveau du ListIndex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.List(ListBox1.ListIndex).Value = TextBox1.Value

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Par défaut
    bonjour parmi,

    quelle parti de mon message tu n'as pas compris ? non la listbox n'est pas sur la feuil elle est sur un userform.
    Dans mon code je devrai retirer ce que tu as surligné en rouge ? si oui, qu'est ce que je devrais mettre à la place?

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    ListIndex est la ligne sélectionnée de Listbox1 et non pas de List.
    C'est pourquoi j'ai mis en rouge la modification.

    Lorsque tu cliques sur ton bouton OK, qu'est-ce que tu veux faire ? modifier la listbox ou écrire sur la feuille ?
    De plus, est-ce que ta listbox a 2 colonnes ? Si oui, et que tu veuilles modifier une seule valeur d'une seule colonne, il faut la spécifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ListBox1.List(ListBox1.ListIndex, 0).Value = TextBox1.Value  ' 0 étant la première colonne
    ListBox1.List(ListBox1.ListIndex, 1).Value = TextBox2.Value  ' 1 étant la deuxième colonne

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Par défaut
    clairement, sur mon userform j'ai une listbox qui m'affiche une liste de nom. dans ma listbox il y a 4 colonne (nom,prenom,identifiant et statut). ces info se trouvent toutes sur la feuil1. quand je clic sur un nom, les info vont respectivement dans les textbox 1,2,3 et 4. Ensuite je décide de modifier l'identifiant et le statut du nom que j'ai sélectionné dans la listbox. Ensuite quand je clic sur le bouton ok, je voudrais que les modifications que j'ai faite dans la textbox 3 et 4 se retrouve sur la feuil1 mais pas à l suite de la liste mais que cela remplace les ancienne valeur qui figurait sur la même ligne que le nom selectionné dans la listbox. J'espère que c'est un peu plus claire. sinon, je peux envoyer le fichierqui vas avec.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Comment charges-tu ta listbox ?
    Si tu utilises un Range, chaque ligne de la listbox correspond donc à une ligne (+ x) de ta feuille (Ligne 2 de ta feuille = Ligne 0 de la listbox, par exemple)
    Si c'est le cas, ça simplifie le code

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/02/2017, 12h03
  2. [XL-2010] Copier des données d'une feuille en une autre avec une constante de 4.
    Par wendkouni dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/07/2016, 11h55
  3. [XL-2010] alimenter une Combobox sur une feuille avec une plage nommée
    Par GADENSEB dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/08/2015, 15h21
  4. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  5. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59

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