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 :

Problème de passage d'une textbox à une autre dans un Userform [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Ex technicien Prévention Incendie
    Inscrit en
    Février 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ex technicien Prévention Incendie
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 156
    Points : 92
    Points
    92
    Par défaut Problème de passage d'une textbox à une autre dans un Userform
    Bonjour à toutes et tous,
    J'ai un petit soucis avec mon Userform "FondTLK"
    Dans une textbox "Box_Date" je renseigne une date, cette information va s'inscrire dans la cellule D18 de la feuille "Base".
    Mais avec le soucis de la conversion américaine des dates j'ai fait une petit gymnastique avec la concaténation pour avoir la date en jour/mois/année quelque soit la date renseignée. Jusqu’à là tout va bien (enfin je le pense), j'affiche ensuite un label et une autre Textbox, ça va encore bien. Je fais réapparaitre l'Userforn pour voir les 2 objet demandés et la date. C'est encore pas mal, MAIS ...
    Quand je veux aller sur la nouvelle Textbox "Choix" il m'est impossible de choisir dans la liste avec la souris. J'ai essayé de rentrer la valeur manuellement ça fonctionne mais après plus aucune action n'est possible, et il faut arrêter le PC à la hussarde (C'est pas bien, mais pas d'autre choix).
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub Box_Date_AfterUpdate()
     
            FondTLK.Hide
            Sheets("Base").Cells(18, 4).Value = FondTLK.Box_Date.Value
     
            If IsError(Sheets("Base").Cells(19, 4).Value) Then
                MsgBox "Veuillez renseigner au format demandé"
                Exit Sub
            End If
     
            If Not IsDate(Sheets("Base").Cells(18, 4).Value) Then
                MsgBox "Veuillez renseigner au format demandé"
                Exit Sub
            End If
     
            FondTLK.Box_Date.Value = ""
            Sheets("Base").Cells(7, 4).FormulaR1C1 = "=CONCATENATE(R[13]C,""/"",R[12]C,""/"",R[14]C)"
            Sheets("Bilan Site").Cells(4, 6).Value = Sheets("Base").Cells(7, 4).Value
            Sheets("PA Vide").Cells(2, 6).Value = Sheets("Base").Cells(7, 4).Value
            FondTLK.Box_Date.Value = Sheets("Base").Cells(7, 4).Value
     
     
            FondTLK.Label146.Visible = True
            FondTLK.Choix.Visible = True
     
            FondTLK.Show
     
     
    End Sub
    J'ai regardé pour inclure un calendrier mais je ne l'ai pas trouvé dans les contrôles supplémentaire de la boite à outils.
    Selon vous ou est mon erreur ?
    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bonjour ThSPB,

    Alors, si je comprends bien, tu présentes ici le code de la TextBox "Box_Date" après son update.
    Or, dans ton code, tu modifies la "Box_Date".

    En bref, "après l'update" est permanent puisque tu updates tout le temps ta TextBox.

    Je rentre dans ma Sub après l'update > j'update ma TextBox > Je rentre dans ma Sub après l'update > j'update ma TextBox > ...

    Pour vérifier si je suis à côté de la plaque, mets un point d'arrêt avant puis après l'update de ta valeur et regarde ce que ça donne.
    Ou plus simplement, peut-être, commentes les updates de ta TextBox.

    N'hésite pas à revenir vers moi !

    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  3. #3
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, un coup d'œil ici devrait t'apporter une solution via par exemple un DTPicker.

  4. #4
    Membre régulier
    Homme Profil pro
    Ex technicien Prévention Incendie
    Inscrit en
    Février 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ex technicien Prévention Incendie
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 156
    Points : 92
    Points
    92
    Par défaut Bonjour Kimy
    Je comprend ta logique et je suis persuadé que tu as raison.
    Mais comment faire ?
    Si je met "Change" à chaque frappe j'ai le Msgbox qui s'affiche.
    Ou alors faut il créé un bouton qui fera les vérifs et la concaténation ?
    Merci de ton aide

  5. #5
    Membre régulier
    Homme Profil pro
    Ex technicien Prévention Incendie
    Inscrit en
    Février 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ex technicien Prévention Incendie
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 156
    Points : 92
    Points
    92
    Par défaut Bonjour Kiki
    Comment fait on pour trouver le calendrier dans les contrôles supplémentaires ?
    J'ai parcouru la liste plusieurs fois et je n'y ai, rien vu qui s'apparente à un calendrier même en anglais
    Merci de ton aide

  6. #6
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Citation Envoyé par ThSPB Voir le message
    Je comprend ta logique et je suis persuadé que tu as raison.
    Mais comment faire ?
    Si je met "Change" à chaque frappe j'ai le Msgbox qui s'affiche.
    Ou alors faut il créé un bouton qui fera les vérifs et la concaténation ?
    Merci de ton aide
    ThSPB,

    Alors c'est TRES simple !
    Il suffit de repenser ton architecture.
    En fait, ce n'est absolument pas possible faire en sorte que lors de l'update d'une TextBox, tu changes sa valeur.

    Un moyen très simple : passe par exemple par un CommandButton.

    Tu insères dans ta TextBox (ou la sélectionne) ta valeur et quand tu cliques sur le bouton "Valider", les actions s'effectuent.

    Il y a plein d'autres solutions !

    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  7. #7
    Membre régulier
    Homme Profil pro
    Ex technicien Prévention Incendie
    Inscrit en
    Février 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ex technicien Prévention Incendie
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 156
    Points : 92
    Points
    92
    Par défaut Re merci Kimy
    Effectivement entre temps j'ai créé un bouton et tout fonctionne (Elle est pas belle la vie !!!)
    Encore Merci

  8. #8
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, pour ces composants il faut qu'ils aient été installés : voir ici, à l'époque l'installation était pour XP mais pour W7/8 ce n'est plus la même chose.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/08/2014, 11h14
  2. passage des variables d'une classe à une autre
    Par zibou7 dans le forum Langage
    Réponses: 4
    Dernier message: 19/02/2007, 16h46
  3. Réponses: 6
    Dernier message: 29/09/2006, 10h18
  4. Passage de paramètre d'une classe à une autre
    Par semenzato dans le forum C++
    Réponses: 3
    Dernier message: 21/09/2005, 13h59
  5. [C#] Passage de valeur d'une fenêtre à une autre
    Par groum999 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/09/2004, 14h12

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