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 :

Conserver format cellule spécial dans TextBox après conténation [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut Conserver format cellule spécial dans TextBox après conténation
    Bonjour,

    J'ai créé un formulaire qui doit générer à chaque ouverture un numéro de dossier type 2017-DIVERS-001


    J'ai concaténé deux cellules pour obtenir mon numéro de dossier dans une TextBox de mon formulaire, qui s'incrémente de 1 à chaque nouvelle saisie:
    G1=ANNEE(AJOURDUI())&"-"&"DIVERS"&"-" et H1="001", avec un format spécial pour conserver les deux zéros devant le 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub NuméroDossier_Change()
     
    NuméroDossier = Range("G1") & Range("H1") + WorksheetFunction.CountA(Range("B3:B100"))
     
    End Sub
    Mon problème est que le résultat affiché de ma TextBox est 2017-DIVERS-1
    Le format "001" de ma cellule H1 n'est pas conservé. J'ai trouvé des exemples sur le forum avec la fonction NumberFormat mais je n'arrive pas à l'appliquer à mon code

    Quelqu'un pour m'expliquer comment faire?

    Merci d'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,

    Essaie comme ceci pour voir...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NuméroDossier = Range("G1") & Range("H1") + Format(WorksheetFunction.CountA(Range("B3:B100")), "000")

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Merci de ton aide!
    Mais ça ne change rien, j'ai toujours le même format...

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour !

    Au moins si la propriété Text de la cellule eut été utilisée !

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Stockholm, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Bonjour Marc-L,

    Pourais-tu dévelopepr pour la novice que je suis?

    Si je mets ma cellule H1 en format texte, je ne peux plus incrémenter de 1 à chaque nouvelle ouverture...

    Ou bien dois-je appliquer un format spécial à ma TextBox?

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    La propriété Text d'une cellule n'ayant aucun rapport avec une cellule formatée en texte !
    Elle est disponible dans toute cellule, peu importe son format !
    Ne pas confondre valeur de la cellule (Value, Value2) et son affichage (Text) …

    Et pourtant c'est accessible à tout débutant pour peu qu'il ait la volonté de tester lui-même …

  7. #7
    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
    Désolé, j'ai fait une petite erreur.
    J'ai placé le Format au mauvais endroit...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NuméroDossier = Range("G1") & Format(Range("H1") + WorksheetFunction.CountA(Range("B3:B100")), "000")

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Je pense pourtant être une débutante qui a la volonté :

    - j'ai crée mon formulaire alors que j'y connaissais rien en vba avant la semaine dernière,
    - j'ai harcelé mon ami google pour trouver comment coder chaque opération que j'avais besoin que mon formulaire déclenche (ouvrir un autre fichier, le remplir...)
    - j'ai même cherché 3 jours pour réussir à incrémenter ce numéro de dossier concatené, parce que ce qui te parait évident ne l'était pas pour moi...

    Je me suis résolue à demander de l'aide sur ce forum parce que vraiment là je galère avec ce 001, j'ai essayé de nombreuses choses depuis hier, j'ai cherché sur beaucoup de forums, et non, désolée ô expert du vba, je ne trouve pas la solution de mon problème et j'ose demander de l'aide.

    Je ne demande pas la solution toute faite, juste qu'on m'explique la marche à suivre, ou la fonction à utiliser si besoin (que tu me souffles avec un mépris presque palpable, mais bon, je n'y connais rien donc je l'ai bien cherché hein?!)

    Je vais donc me renseigner sur cette propriété text , dussé-je y passer mes prochaines journées...

    Merci quand même.

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Ça fonctionne Parmi!
    Je saurais maintenant grâce à toi comment appliquer un format...
    Merci beaucoup!

  10. #10
    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
    Pour explication,
    Si tu tapes 1 dans une cellule sa valeur est numérique
    Si tu changes son format pour 001, elle demeure numérique
    Range("A1") est par défaut Range("A1").Value qui demeure numérique
    Range("A1").Text est différent et te retourne son texte "001"

    Pour ce qui est de ma ligne de code, Format de l'addition retourne par défaut le texte tel qu'on l'a spécifié un peu comme la formule Excel =Texte(A1, "000").

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/08/2015, 19h26
  2. Réponses: 2
    Dernier message: 17/02/2014, 18h30
  3. forcer le format de saisie dans TEXTBOX
    Par wa7ch3000 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/04/2010, 21h21
  4. Definir Format de saisie dans TextBox
    Par papy75 dans le forum IHM
    Réponses: 3
    Dernier message: 10/04/2008, 08h57
  5. Format de durée dans TextBox ou Label
    Par gangsterus dans le forum VB.NET
    Réponses: 6
    Dernier message: 13/12/2007, 13h55

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