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 :

Concaténer des textbox en ignorant le séparateur si textbox est vide [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut Concaténer des textbox en ignorant le séparateur si textbox est vide
    Bonjour,

    Avec office365, il y'a une nouvelle fonction :
    TEXTJOIN (délimiteur, ignore_empty, text1, [text2],…)

    Ce qu'il y'a de génial dans cette fonction c'est que le séparateur n'est pas ajouté si la valeur de la cellule est vide.

    Comment faire la même chose avec des textbox ?

    J'ai un userform avec des textbox nom prénom adresse ville numéro de tél mobile numéro de tél bureau adresse mail...

    A ce jour j'arrive à réunir toutes ces informations dans une seule cellule avec un retour à la ligne après chaque textbox, mais lorsque une textbox est vide je me retrouve avec un retour à la ligne de trop.

    Merci pour votre aide
    Meilleures salutations
    Philippe

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    est-il ici question de VBA ou de formule ?

    En VBA, tu peux t'amuser a stocker tes valeurs dans une collection, supprimer les items vides, et faire un Join() au bout...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Vba

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    OK,

    si on part du principe que ta nomenclature de nommage est correctement appliquée, on peut travailler comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'cas de textbox dans un formulaire
    dim col as New Collection
    For Each ctl in Me.Controls
    if Left(ctl.Name,3)="Txt" Then
    If ctl.Value<>"" Then
    col.Add ctl.Value
    End If
    End If
    Next
     
    MsgBox Join(col,",")
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/11/2015, 14h01
  2. concaténation avec des textbox
    Par pascb423 dans le forum VB.NET
    Réponses: 4
    Dernier message: 17/11/2014, 18h37
  3. désactiver la validation quand une textbox est vide
    Par maa dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 04/05/2013, 07h04
  4. test si textbox est vide
    Par oami89 dans le forum VB.NET
    Réponses: 7
    Dernier message: 07/03/2011, 15h09
  5. Gestion des groupes et utilisateurs (parce que la FAQ est vide)
    Par Schmorgluck dans le forum Administration système
    Réponses: 2
    Dernier message: 11/02/2008, 09h59

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