Déconconténer cellule pour renseigner des Textbox

Le
Alex
Bonjour à tous,

Voici mon problème, dans un userform en mode "Création", j'ai 3
textboxs (Nom, Civilité et Téléphone) qui après validation s'inscri=
ve
sur ma feuille dans une seule et même cellule, par concaténation des
textboxs de la façon suivante : Entre le Nom et la civilité, j'ai
ajouté un espace, et unChr(10) entre la civilité et le téléphone.
Jusque là pas de souci.
Maintenant je voudrais faire l'inverse, toujours sur le même useform,
mais cette fois en mode "Consultation", je sais rappatrier les données
d'une cellule dans un textbox, mais je voudrais remettre le nom dans
le textbox Nom, la civilité dans le textbox civilité et le téléphon=
e
dans le textbox téléphone, en sachant que j'ai l'espace entre le nom
et la civilité et le chr(10) entre la civilité et le nom.
Quelqu'un aurait-il une solution ?
Merci par avance de vos réponses.
Cordialement.
Alex
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #21299871
Bonjour,

La fonction split requiert Excel 2000 ou plus récent
Voici un exemple :
Le code dans le formulaire :
'-----------------------------
Dim X as variant
with worksheets("NomDeLaFeuille")
X = Split(.Range("A1")," ")
End with

with Me
.textbox1 = x(0)
.textbox2 = x(1)
.textbox3 = x(2)
End with
'-----------------------------


"Alex"
Bonjour à tous,

Voici mon problème, dans un userform en mode "Création", j'ai 3
textboxs (Nom, Civilité et Téléphone) qui après validation s'inscrive
sur ma feuille dans une seule et même cellule, par concaténation des
textboxs de la façon suivante : Entre le Nom et la civilité, j'ai
ajouté un espace, et unChr(10) entre la civilité et le téléphone.
Jusque là pas de souci.
Maintenant je voudrais faire l'inverse, toujours sur le même useform,
mais cette fois en mode "Consultation", je sais rappatrier les données
d'une cellule dans un textbox, mais je voudrais remettre le nom dans
le textbox Nom, la civilité dans le textbox civilité et le téléphone
dans le textbox téléphone, en sachant que j'ai l'espace entre le nom
et la civilité et le chr(10) entre la civilité et le nom.
Quelqu'un aurait-il une solution ?
Merci par avance de vos réponses.
Cordialement.
Alex
JC Duce
Le #21300181
Bonjour,

Sauf qu'en cas de nom ou de prénom composé, séparés par un espace, ca ne
fonctionnera plus !!!

En effet, Excel ne saura pas a quoi rattacher la chaine du milieu :
DURAND JEAN PIERRE = DURAND JEAN + PIERRE ou DURAND + JEAN PIERRE ?

Je te conseillerai donc plutôt de séparer les données de la forme de
restitution. C'est à dire, conserver chaque contenu de textbox dans une seule
cellule. Ca sera bien plus simple pour aller relire les données.

Après rien ne t'empêche, via une autre feuille par exemple, de modifier la
mise en page en faisant référence à tes données "de base". C'est à mon avis
bien plus fiable ...

Bonne journée.

"michdenis" wrote:

Bonjour,

La fonction split requiert Excel 2000 ou plus récent
Voici un exemple :
Le code dans le formulaire :
'-----------------------------
Dim X as variant
with worksheets("NomDeLaFeuille")
X = Split(.Range("A1")," ")
End with

with Me
.textbox1 = x(0)
.textbox2 = x(1)
.textbox3 = x(2)
End with
'-----------------------------


"Alex"
Bonjour à tous,

Voici mon problème, dans un userform en mode "Création", j'ai 3
textboxs (Nom, Civilité et Téléphone) qui après validation s'inscrive
sur ma feuille dans une seule et même cellule, par concaténation des
textboxs de la façon suivante : Entre le Nom et la civilité, j'ai
ajouté un espace, et unChr(10) entre la civilité et le téléphone.
Jusque là pas de souci.
Maintenant je voudrais faire l'inverse, toujours sur le même useform,
mais cette fois en mode "Consultation", je sais rappatrier les données
d'une cellule dans un textbox, mais je voudrais remettre le nom dans
le textbox Nom, la civilité dans le textbox civilité et le téléphone
dans le textbox téléphone, en sachant que j'ai l'espace entre le nom
et la civilité et le chr(10) entre la civilité et le nom.
Quelqu'un aurait-il une solution ?
Merci par avance de vos réponses.
Cordialement.
Alex

.



Mgr T. Banni
Le #21300171
sacré michel, il a encore déconconténé sur ce coup-là....
c'était pourtant fastoche :-)
Mgr T.B.

"JC Duce"
Bonjour,

Sauf qu'en cas de nom ou de prénom composé, séparés par un espace, ca ne
fonctionnera plus !!!

En effet, Excel ne saura pas a quoi rattacher la chaine du milieu :
DURAND JEAN PIERRE = DURAND JEAN + PIERRE ou DURAND + JEAN PIERRE ?

Je te conseillerai donc plutôt de séparer les données de la forme de
restitution. C'est à dire, conserver chaque contenu de textbox dans une seule
cellule. Ca sera bien plus simple pour aller relire les données.

Après rien ne t'empêche, via une autre feuille par exemple, de modifier la
mise en page en faisant référence à tes données "de base". C'est à mon avis
bien plus fiable ...

Bonne journée.

"michdenis" wrote:

Bonjour,

La fonction split requiert Excel 2000 ou plus récent
Voici un exemple :
Le code dans le formulaire :
'-----------------------------
Dim X as variant
with worksheets("NomDeLaFeuille")
X = Split(.Range("A1")," ")
End with

with Me
.textbox1 = x(0)
.textbox2 = x(1)
.textbox3 = x(2)
End with
'-----------------------------


"Alex"
Bonjour à tous,

Voici mon problème, dans un userform en mode "Création", j'ai 3
textboxs (Nom, Civilité et Téléphone) qui après validation s'inscrive
sur ma feuille dans une seule et même cellule, par concaténation des
textboxs de la façon suivante : Entre le Nom et la civilité, j'ai
ajouté un espace, et unChr(10) entre la civilité et le téléphone.
Jusque là pas de souci.
Maintenant je voudrais faire l'inverse, toujours sur le même useform,
mais cette fois en mode "Consultation", je sais rappatrier les données
d'une cellule dans un textbox, mais je voudrais remettre le nom dans
le textbox Nom, la civilité dans le textbox civilité et le téléphone
dans le textbox téléphone, en sachant que j'ai l'espace entre le nom
et la civilité et le chr(10) entre la civilité et le nom.
Quelqu'un aurait-il une solution ?
Merci par avance de vos réponses.
Cordialement.
Alex

.





michdenis
Le #21300441
À défaut d'être plus précis dans sa demande, ceci se veut
une réponse générale. S’il éprouve des difficultés, il peut
toujours demander une question supplémentaire en donnant
des exemples de "nom" qu'il retrouve dans son tableau et qui
lui pose problème.




"JC Duce" discussion :
Bonjour,

Sauf qu'en cas de nom ou de prénom composé, séparés par un espace, ca ne
fonctionnera plus !!!

En effet, Excel ne saura pas a quoi rattacher la chaine du milieu :
DURAND JEAN PIERRE = DURAND JEAN + PIERRE ou DURAND + JEAN PIERRE ?

Je te conseillerai donc plutôt de séparer les données de la forme de
restitution. C'est à dire, conserver chaque contenu de textbox dans une seule
cellule. Ca sera bien plus simple pour aller relire les données.

Après rien ne t'empêche, via une autre feuille par exemple, de modifier la
mise en page en faisant référence à tes données "de base". C'est à mon avis
bien plus fiable ...

Bonne journée.

"michdenis" wrote:

Bonjour,

La fonction split requiert Excel 2000 ou plus récent
Voici un exemple :
Le code dans le formulaire :
'-----------------------------
Dim X as variant
with worksheets("NomDeLaFeuille")
X = Split(.Range("A1")," ")
End with

with Me
.textbox1 = x(0)
.textbox2 = x(1)
.textbox3 = x(2)
End with
'-----------------------------


"Alex"
Bonjour à tous,

Voici mon problème, dans un userform en mode "Création", j'ai 3
textboxs (Nom, Civilité et Téléphone) qui après validation s'inscrive
sur ma feuille dans une seule et même cellule, par concaténation des
textboxs de la façon suivante : Entre le Nom et la civilité, j'ai
ajouté un espace, et unChr(10) entre la civilité et le téléphone.
Jusque là pas de souci.
Maintenant je voudrais faire l'inverse, toujours sur le même useform,
mais cette fois en mode "Consultation", je sais rappatrier les données
d'une cellule dans un textbox, mais je voudrais remettre le nom dans
le textbox Nom, la civilité dans le textbox civilité et le téléphone
dans le textbox téléphone, en sachant que j'ai l'espace entre le nom
et la civilité et le chr(10) entre la civilité et le nom.
Quelqu'un aurait-il une solution ?
Merci par avance de vos réponses.
Cordialement.
Alex

.



Alex
Le #21302881
Merci à tous pour vos réponses.

Et je remercie tout particulièrement Michel, qui répond regulièrement
à mes nombreuses questions, et qui m'a permis, à moi "néophyte" de la
macro (3 jours d'initiation VBA) de bien avancer dans ce domaine, et
me contente bien de "sa réponse générale" lol

Mais je vais faire aussi plaisir à JC, en complétant ma question, à
savoir si je mets entre le nom et le prénom un tiret (- du 6 et sans
espace et sans chr(10)), est ce que la proposition de Michel
fonctionnera t elle ?

Et enfin, Michel me dit de mettre dans le formulaire les lignes de
commandes, mais où dois je les mettre ? Dans Userform_Activate ?

Moi je ne pourrais tester que demain quand je serai au travail.

En tout cas, Encore un grand merci de vos réponses

Alex
michdenis
Le #21303971
Bonjour Alex,

La fonction Split() utilise l'espace pour séparer les composantes
de la chaîne de caractères, résultat de ta concaténation.
Effectivement, si tu utilises dans la colonne des "NOMS", le tiret
en lieu et place de l'espace, cela fonctionnera très bien pour ce
qui est de retrouver dans ton textbox Nom, Civilité et Téléphone.

La fonction Rechercher/Remplacer du menu "édition" sait très bien
faire cela pour ce qui est de la colonne "Nom"

Dans ton textbox, si tu veux éliminer le tiret dans le nom, tu peux
utiliser quelque chose comme :
Me.Textbox1 = Application.Substitute(X(0),"-", " ")





"Alex"
Merci à tous pour vos réponses.

Et je remercie tout particulièrement Michel, qui répond regulièrement
à mes nombreuses questions, et qui m'a permis, à moi "néophyte" de la
macro (3 jours d'initiation VBA) de bien avancer dans ce domaine, et
me contente bien de "sa réponse générale" lol

Mais je vais faire aussi plaisir à JC, en complétant ma question, à
savoir si je mets entre le nom et le prénom un tiret (- du 6 et sans
espace et sans chr(10)), est ce que la proposition de Michel
fonctionnera t elle ?

Et enfin, Michel me dit de mettre dans le formulaire les lignes de
commandes, mais où dois je les mettre ? Dans Userform_Activate ?

Moi je ne pourrais tester que demain quand je serai au travail.

En tout cas, Encore un grand merci de vos réponses

Alex
JC Duce
Le #21304311
:)

Loin de moi l'idée d'invalider ce que dit michel, mais je préfère rappeler
qu'il est toujours plus sain de séparer le fond de la forme, surtout en
informatique ...

JC (un autre michel en fait)
:)


"Mgr T. Banni" wrote:

sacré michel, il a encore déconconténé sur ce coup-là....
c'était pourtant fastoche :-)
Mgr T.B.

"JC Duce" > Bonjour,
>
> Sauf qu'en cas de nom ou de prénom composé, séparés par un espace, ca ne
> fonctionnera plus !!!
>
> En effet, Excel ne saura pas a quoi rattacher la chaine du milieu :
> DURAND JEAN PIERRE = DURAND JEAN + PIERRE ou DURAND + JEAN PIERRE ?
>
> Je te conseillerai donc plutôt de séparer les données de la forme de
> restitution. C'est à dire, conserver chaque contenu de textbox dans une seule
> cellule. Ca sera bien plus simple pour aller relire les données.
>
> Après rien ne t'empêche, via une autre feuille par exemple, de modifier la
> mise en page en faisant référence à tes données "de base". C'est à mon avis
> bien plus fiable ...
>
> Bonne journée.
>
> "michdenis" wrote:
>
>> Bonjour,
>>
>> La fonction split requiert Excel 2000 ou plus récent
>> Voici un exemple :
>> Le code dans le formulaire :
>> '-----------------------------
>> Dim X as variant
>> with worksheets("NomDeLaFeuille")
>> X = Split(.Range("A1")," ")
>> End with
>>
>> with Me
>> .textbox1 = x(0)
>> .textbox2 = x(1)
>> .textbox3 = x(2)
>> End with
>> '-----------------------------
>>
>>
>> "Alex" >>
>> Bonjour à tous,
>>
>> Voici mon problème, dans un userform en mode "Création", j'ai 3
>> textboxs (Nom, Civilité et Téléphone) qui après validation s'inscrive
>> sur ma feuille dans une seule et même cellule, par concaténation des
>> textboxs de la façon suivante : Entre le Nom et la civilité, j'ai
>> ajouté un espace, et unChr(10) entre la civilité et le téléphone.
>> Jusque là pas de souci.
>> Maintenant je voudrais faire l'inverse, toujours sur le même useform,
>> mais cette fois en mode "Consultation", je sais rappatrier les données
>> d'une cellule dans un textbox, mais je voudrais remettre le nom dans
>> le textbox Nom, la civilité dans le textbox civilité et le téléphone
>> dans le textbox téléphone, en sachant que j'ai l'espace entre le nom
>> et la civilité et le chr(10) entre la civilité et le nom.
>> Quelqu'un aurait-il une solution ?
>> Merci par avance de vos réponses.
>> Cordialement.
>> Alex
>>
>> .
>>


.



Mgr T. Banni
Le #21305191
denis, alex, denis, pas michel :-)
T.B.

"Alex" Merci à tous pour vos réponses.

Et je remercie tout particulièrement Michel, qui répond regulièrement
à mes nombreuses questions
Mgr T. Banni
Le #21305181
denis, JC (un autre michel en fait), denis, pas michel :-)
T.B.

"JC Duce"
:)

Loin de moi l'idée d'invalider ce que dit michel, mais je préfère rappeler
qu'il est toujours plus sain de séparer le fond de la forme, surtout en
informatique ...

JC (un autre michel en fait)
:)


"Mgr T. Banni" wrote:

sacré michel, il a encore déconconténé sur ce coup-là....
c'était pourtant fastoche :-)
Mgr T.B.

"JC Duce"
> Bonjour,
>
> Sauf qu'en cas de nom ou de prénom composé, séparés par un espace, ca ne
> fonctionnera plus !!!
>
> En effet, Excel ne saura pas a quoi rattacher la chaine du milieu :
> DURAND JEAN PIERRE = DURAND JEAN + PIERRE ou DURAND + JEAN PIERRE ?
>
> Je te conseillerai donc plutôt de séparer les données de la forme de
> restitution. C'est à dire, conserver chaque contenu de textbox dans une seule
> cellule. Ca sera bien plus simple pour aller relire les données.
>
> Après rien ne t'empêche, via une autre feuille par exemple, de modifier la
> mise en page en faisant référence à tes données "de base". C'est à mon avis
> bien plus fiable ...
>
> Bonne journée.
>
> "michdenis" wrote:
>
>> Bonjour,
>>
>> La fonction split requiert Excel 2000 ou plus récent
>> Voici un exemple :
>> Le code dans le formulaire :
>> '-----------------------------
>> Dim X as variant
>> with worksheets("NomDeLaFeuille")
>> X = Split(.Range("A1")," ")
>> End with
>>
>> with Me
>> .textbox1 = x(0)
>> .textbox2 = x(1)
>> .textbox3 = x(2)
>> End with
>> '-----------------------------
>>
>>
>> "Alex" >>
>> Bonjour à tous,
>>
>> Voici mon problème, dans un userform en mode "Création", j'ai 3
>> textboxs (Nom, Civilité et Téléphone) qui après validation s'inscrive
>> sur ma feuille dans une seule et même cellule, par concaténation des
>> textboxs de la façon suivante : Entre le Nom et la civilité, j'ai
>> ajouté un espace, et unChr(10) entre la civilité et le téléphone.
>> Jusque là pas de souci.
>> Maintenant je voudrais faire l'inverse, toujours sur le même useform,
>> mais cette fois en mode "Consultation", je sais rappatrier les données
>> d'une cellule dans un textbox, mais je voudrais remettre le nom dans
>> le textbox Nom, la civilité dans le textbox civilité et le téléphone
>> dans le textbox téléphone, en sachant que j'ai l'espace entre le nom
>> et la civilité et le chr(10) entre la civilité et le nom.
>> Quelqu'un aurait-il une solution ?
>> Merci par avance de vos réponses.
>> Cordialement.
>> Alex
>>
>> .
>>


.





michdenis
Le #21305891
| denis, alex, denis, pas michel :-)

Moi qui pensais que mes messages portaient la signature MichDenis !
Publicité
Poster une réponse
Anonyme