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 :

mettre la valeur d'une textbox dans la bonne cellule excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 201
    Par défaut
    Bonjour à tous,
    J'ai créé 3 boutons dans un module qui fait appel à mon userform :

    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
     
    Sub Bouton_Srce1_Clic()
    UserForm1.cboChoixSrce.Text = ThisWorkbook.Worksheets("Feuil5").Range("B1").Value
    UserForm1.Show
     
    End Sub
     
    Sub Bouton_Srce2_Clic()
    UserForm1.cboChoixSrce.Text = ThisWorkbook.Worksheets("Feuil5").Range("C1").Value
    UserForm1.Show
     
    End Sub
     
    Sub Bouton_Srce3_Clic()
    UserForm1.cboChoixSrce.Text = ThisWorkbook.Worksheets("Feuil5").Range("D1").Value
    UserForm1.Show
     
    End Sub
    et un autre dans l'userform :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub cboChoixSrce_Change()
    If ThisWorkbook.Worksheets("Feuil5").Range("B1").Value <> UserForm1.cboChoixSrce.Text Then
      ThisWorkbook.Worksheets("Feuil5").Range("B1").Value = UserForm1.cboChoixSrce.Text
      End If
     
    End Sub
    je souhaiterai dans le même sens que le changement de la source dans mon UserForm1.cboChoixSrce.Text change aussi la cellule correspondante à chacun des trois boutons (A1, B1 et C1). autrement dit si je clique sur le bouton 1, je veux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Worksheets("Feuil5").Range("B1").Value = UserForm1.cboChoixSrce.Text
    et si je clique sur le bouton 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Worksheets("Feuil5").Range("C1").Value = UserForm1.cboChoixSrce.Text
    etc...

    Merci pour votre aide.

    j e tente de faire un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub cboChoixSrce_Change()
    If Bouton_Srce1 Then
      If ThisWorkbook.Worksheets("Feuil5").Range("B1").Value <> UserForm1.cboChoixSrce.Text Then
         ThisWorkbook.Worksheets("Feuil5").Range("B1").Value = UserForm1.cboChoixSrce.Text
      End If
    ElseIf Bouton_Srce2 Then
      If ThisWorkbook.Worksheets("Feuil5").Range("C1").Value <> UserForm1.cboChoixSrce.Text Then
         ThisWorkbook.Worksheets("Feuil5").Range("C1").Value = UserForm1.cboChoixSrce.Text
      End If
    End If
    End Sub
    mais ça marche pas...

  2. #2
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Par défaut
    Bonjour,

    Une suggestion: pourquoi ne pas éclater le code par bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sub Bouton_Srce1_clic()
      If ThisWorkbook.Worksheets("Feuil5").Range("B1").Value <> UserForm1.cboChoixSrce.Text Then
         ThisWorkbook.Worksheets("Feuil5").Range("B1").Value = UserForm1.cboChoixSrce.Text
      End If
    end sub
    sub Bouton_Srce2_clic()
      If ThisWorkbook.Worksheets("Feuil5").Range("C1").Value <> UserForm1.cboChoixSrce.Text Then
         ThisWorkbook.Worksheets("Feuil5").Range("C1").Value = UserForm1.cboChoixSrce.Text
      End If
    end sub
    Harry

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 201
    Par défaut
    c'est ce que j'ai fait mais quand je change ma source dans UserForm1.cboChoixSrce.Text et bien la cellule reste inchangée. Il faut utiliser je pense la proprité de sub cboChoixSrce_Change()

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour panda78.

    Une solution : passer par une variable intermédiaire pour mémoriser la source de l'appel.

    Créer dans le module, placée tout en de ce dernier dans la partie déclaration la variable nommée Appel ou autre
    Puis, cela donnerait pour le code des boutons
    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
    Sub Bouton_Srce1_Clic()
        Appel = 1
        UserForm1.cboChoixSrce.Text = ThisWorkbook.Worksheets("Feuil5").Range("B1").Value
        UserForm1.Show
    End Sub
    Sub Bouton_Srce2_Clic()
        Appel = 2
        UserForm1.cboChoixSrce.Text = ThisWorkbook.Worksheets("Feuil5").Range("C1").Value
        UserForm1.Show
    End Sub
    Sub Bouton_Srce3_Clic()
        Appel = 3
        UserForm1.cboChoixSrce.Text = ThisWorkbook.Worksheets("Feuil5").Range("D1").Value
        UserForm1.Show
    End Sub
    Ensuite, dans la Sub du combobox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub cboChoixSrce_Change()
        Select Case Appel
            Case 1: ThisWorkbook.Worksheets("Feuil5").Range("B1").Value = UserForm1.cboChoixSrce.Text
            Case 2: ThisWorkbook.Worksheets("Feuil5").Range("C1").Value = UserForm1.cboChoixSrce.Text
            Case 3: ThisWorkbook.Worksheets("Feuil5").Range("D1").Value = UserForm1.cboChoixSrce.Text
        End Select
    End Sub
    A essayer, cordialement.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 201
    Par défaut
    c'est une très bonne idée mais ça ne marche pas...
    sinon tu voulais dire n'est ce pas?

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour panda78.

    Qu'est-ce qui ne marche pas, peux-tu être plus explicite ?

    Non, c'est bien ce qu'il faut écrire
    L'instruction Dim, si je ne me trompe pas, valide la variable pour l'étendue du Module dans lequel elle est déclarée. A condition qu'elle soit tout en haut du module, dans la partie Déclarations.

    L'instruction Public, valide la variable pour l'étendue du Projet. Cela signifie qu'elle sera valide et donc reconnue dans la procédure cboChoixSrce_Change() dans l'UserForm concernée.

    Cordialement.

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

Discussions similaires

  1. [XL-2003] mettre les valeur d une textbox dans excel
    Par alex santus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2010, 22h19
  2. [vba excel] Recherche valeur d'une textbox dans une feuille
    Par vanessaferraz dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/08/2006, 10h55
  3. Réponses: 2
    Dernier message: 08/06/2006, 13h48
  4. Utilise la valeur d'une textbox dans une requête sql
    Par podidoo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/03/2006, 09h53
  5. Mettre la valeur d'une table dans une CString
    Par Lucier dans le forum MFC
    Réponses: 29
    Dernier message: 26/11/2004, 16h04

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