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 :

renvoi de plusieurs textbox avec point virgule [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 252
    Par défaut renvoi de plusieurs textbox avec point virgule
    Bonsoir,

    Je charge le contenu d'une cellule dans trois textbox différents avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Dim i As Integer
        Dim a() As String
        Dim z As Integer
     
            z = 0
        For i = 1 To 3
            z = z + 1
        If ActiveCell = "" Then
        Else
        a = Split(ActiveCell.Value, ";")
        Me.Controls("Textbox" & i) = a(z - 1)
        End If
        Next i
    Problème : je n'arrive pas à faire l'inverser (avec boucle) c'est à dire envoyer mes trois textbox vers une cellule où chaque contenu de textbox est séparé par un ";".

    Une solution ?

    Merci

  2. #2
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim i As Integer
    Dim a As String
    For i = 1 To 3
        a = a & ";" & Me.Controls("Textbox" & i).Text
    Next i
    ActiveCell = Mid(a, 2)

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 252
    Par défaut
    merci beaucoup.

    Une petite explication pour le

    ?

    Merci

  4. #4
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Re-bonjour,
    La fonction Mid permet de sélectionner une partie d'une chaîne de caractères à partir d'une position et sur une longueur données (le paramètre de longueur est optionnel).
    Par exemple, Mid("abc", 2) donne "bc" c'est-à-dire depuis la position 2 et sur toute la longueur.

    Cette instruction sert à éliminer le point-virgule au début de a. En effet, la boucle concatène les Textbox avec à chaque fois un point-virgule devant.
    Si les Textbox contiennent par exemple "A", "B" et "C", le résultat dans a après la boucle sera ";A;B;C".
    Mid(a, 2) renverra alors "A;B;C".

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 252
    Par défaut
    Merci !

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

Discussions similaires

  1. Renvoi de plusieurs textbox
    Par JPDU92 dans le forum Excel
    Réponses: 4
    Dernier message: 01/10/2007, 14h07
  2. Réponses: 14
    Dernier message: 09/03/2007, 12h21
  3. [c#][.NET][CF] TextBox avec plusieurs fonts et styles.
    Par safisoft13 dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 08/02/2007, 15h37
  4. [CSV] Problème avec CSV et point virgules
    Par Lotz dans le forum Langage
    Réponses: 6
    Dernier message: 09/03/2006, 15h11
  5. Réponses: 3
    Dernier message: 17/08/2005, 17h27

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