Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

pb de séparateur dans cellule

  • Initiateur de la discussion Initiateur de la discussion daniel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

daniel

Guest
Bonjour à tous,

Dans une même cellule, j'ai plusieurs chaines de caractères, séparées par des points virgules (ex, en A1: 'terme 1; terme2 ; terme 3').


Mon fol désir serait de pouvoir récupérer séparément ces chaines dans un USF ('terme 1' ' terme2 'terme 3'), dans autant de textbox qu'il y aurait de termes. Ce qui impliquerait la création de textbox à la volée en fonction du nombre de séparateurs ';'.

Mais là, franchement, c'est au dessus de mes limites en VBA... J'ai trouvé plusieurs posts sur les séparateurs pour l'iimportation/exportation dans des fichiers texte, mais cela ne m'a pas aidé.

Si quelqu'un(e) peut 'amorcer' la solution, je pense (j'espère, du moins... ) que je pourrai me débrouiller ensuite...

Merci pour votre aide,

Daniel
 
bonjour

cette démo de @+Thierry devrait t'aider pour créer les TextBox dynamiquement

Lien supprimé


et pour extraire les textes séparés par les points virgule ';' tu pourras utiliser


Dim Tableau() As String
Dim i As Byte

Tableau = Split(Range('A1'), ';')
For i = 0 To UBound(Tableau)
MsgBox Tableau(i)
Next i



le nombre de TextBox à créer étant UBound(Tableau) + 1


bonne soiree
MichelXld

Message édité par: MichelXld, à: 05/07/2005 18:20
 
Waoooh,

un grand merci Michel et...Thierry, of course !

Je me suis aidé de ton code et de celui de Thierry pour écrire ce code, dans un bouton de commande:

Private Sub CommandButton1_Click()
Dim Tableau() As String
Dim i As Byte, T As Byte, L As Byte
Dim TextBoxing As Variant

Tableau = Split(Range('A1'), ';')
For i = 0 To UBound(Tableau)
Set TextBoxing = Me.Controls.Add('Forms.TextBox.1')
L=10
With TextBoxing
.Left = L: .Top = T: .Width = 45: .Height = 15
.Value = Tableau(i)
End With
T = T + 15
Next i
Set TextBoxing = Nothing
End Sub

Bonne soirée !!

Daniel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…