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 d'une textbox dans une cellule variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Qualiticienne
    Inscrit en
    Juillet 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Qualiticienne
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2013
    Messages : 9
    Par défaut Valeur d'une textbox dans une cellule variable
    Bonjour,
    je débute en VBA.
    J'ai créer un USF avec une textbox1 je voudrais que la valeur de cette textbox1 s'inscrive dans la cellule ligne 6 de la première colonne vide.

    La valeur saisie dans cette textbox1 doit être identique a la valeur d'une cellule données.
    Si la valeur est identique l'utilisateur doit saisir une seconde valeur dans une textbox2.
    Si la valeur est différente la saisi s'arrête et la valeur de la textbox1 s'efface.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2010
    Messages : 270
    Par défaut
    Bonjour,

    Voici une formule pour trouver la première colonne vide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    col = Worksheets("Feuil1").Cells(1, Worksheets("Feuil1").Columns.Count).End(xlToLeft).Column + 1
     
    ActiveSheet.Cells(6, col).Value = UserForm.TextBox1.Text
    Ensuite tu peux stocker la valeur saisie dans la textbox dans une variable de type String

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim valeur As String
    valeur = UserForm.TextBox1.Text
    Et ensuite tu fais tes tests avec des Boucles If

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If UserForm.TextBox1.Text = Sheets("Feuil1").range("B5") then
    UserForm.TextBox2.Visible = true
    Msgbox("Insérez une valeur dans la nouvelle textbox")
    Else
    UserForm.TextBox1.Text=" "
    End if

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    J'ai créer un USF avec une textbox1 je voudrais que la valeur de cette textbox1 s'inscrive dans la cellule ligne 6 de la première colonne vide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("lenomdetafeuille").cells(6,Sheets("lenomdetafeuille").cells(6,columns.count).end(xltoleft).column)+1) = textbox1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    La valeur saisie dans cette textbox1 doit être identique a la valeur d'une cellule données.
    Par exemple A1 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If textbox1 = Sheets("lenomdetafeuille").range("A1") then
    textbox2.visible = true
    msgbox("veuillez insérer une valeur dans la deuxième textbox")
    else
    textbox1=""
    end if
    Si la valeur est identique l'utilisateur doit saisir une seconde valeur dans une textbox2.
    Si la valeur est différente la saisi s'arrête et la valeur de la textbox1 s'efface.

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour à tou(te)s,

    Comme j'avais préparé un code, je le propose également, à tout hasard, bien sur je ne conteste pas vos propositions
    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
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim Dc As Range
    'admettons que le TextBox doit corespondre à la cellule A1
    If TextBox1 <> Range("A1") Then
      TextBox1 = ""
      Exit Sub
    Else
      With Sheets("nomdetafeuille")
        Set Dc = Cells(6, Cells.Columns.Count).End(xlToLeft)
        Dc(1, 2) = TextBox1
        TextBox2.SetFocus
      End With
    End If
     
    End Sub
    Bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    C'est quoi la prop setfocus? J'ai pas d'excel sur ce pc et les explications sur internet sont peu claires..

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2010
    Messages : 270
    Par défaut
    A mon avis c'est pour déplacer le curseur et activer la cellule ou l'objet!!

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    C'est quoi la prop setfocus?
    Tout simplement pour déplacer le curseur sur le textbox ou le controle à atteindre
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  5. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13

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