Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2012, 19h44   #1
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 236
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 236
Points : 36
Points : 36
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 :
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
8e8eClo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 19h55   #2
Membre Expert
 
Femme
Ingénieur développement logiciels
Inscription : juin 2007
Messages : 480
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juin 2007
Messages : 480
Points : 1 024
Points : 1 024
Bonjour,

Code :
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)
tedo01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 19h57   #3
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 236
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 236
Points : 36
Points : 36
merci beaucoup.

Une petite explication pour le

?

Merci
8e8eClo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 20h05   #4
Membre Expert
 
Femme
Ingénieur développement logiciels
Inscription : juin 2007
Messages : 480
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juin 2007
Messages : 480
Points : 1 024
Points : 1 024
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".
tedo01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 12h54   #5
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 236
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 236
Points : 36
Points : 36
Merci !
8e8eClo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h43.


 
 
 
 
Partenaires

Hébergement Web