Bonjour à tous,
je voulais savoir s'il était possible de découper une chaine de caractère tous les deux caratères sans insérer de délimiteur comme avec l'instruction Split.
Quelqu'un peut-il m'aider?
Cordialement.
Stalindim.
Bonjour à tous,
je voulais savoir s'il était possible de découper une chaine de caractère tous les deux caratères sans insérer de délimiteur comme avec l'instruction Split.
Quelqu'un peut-il m'aider?
Cordialement.
Stalindim.
Pas testé:
Ca convertit ta chaine en tableau de caractères ANSI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim str As String Dim b() As Byte str = "Bonjour" b = StrConv(str,vbFromUnicode)
"Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
Penser à svp
Merci sozie
ce n'est pas exactement ce que je cherche mais si personne n'a mieux je pense que je vais essayer de m'arranger avec ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function decoup(unechaine as string;pas as integer) as string dim temp as string do while len unechaine>pas then temp=left(unechaine,pas) & " " unechaine=rigth(unechaine;len(unechaine)-pas) loop decoup=temp & une chaine end function
Elle est pas belle la vie ?
désolé random mais je n'arrive pas à comprendre et encore moins à faire fonctionner ton code.
Et utilise les balises apropriées s'il te plaîs.
pardon pour les balises
cette fonction découpe un texte par pas de pas qui est la valeur adressée
Elle est pas belle la vie ?
Bon après avoir corrigé ton code j'arrive presque à avoir ce que je veux puisque lorsque j'entre cette chaine "abcdefghijklmnopqrstuvwxyz" je récupère "wx yz". Par contre j'ai du mal à voir d'où proviens le problème , peut-être est-ce du à la fatigue après cette dure journée de cours .
Avec mes excuses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Function decoup(unechaine As String, pas As Integer) As String Dim temp As String Do While Len(unechaine) > pas temp = temp & Left(unechaine, pas) & " " unechaine = Right(unechaine, Len(unechaine) - pas) Loop decoup = temp & unechaine End Function
Elle est pas belle la vie ?
Sinon, tu peux toujours faire ça en sub ou en fonction avec la chaine en paramètre
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub MaChaineEnPetitsBouts() Dim LesBouts(), MaChaine, i, j MaChaine = "Ouistiti" For i = 1 To Len(MaChaine) Step 2 j = j + 1 ReDim Preserve LesBouts(j) If Len(MaChaine) > 2 Then LesBouts(j) = Mid(MaChaine, 1, 2) MaChaine = Right(MaChaine, Len(MaChaine) - 2) Else LesBouts(j) = MaChaine End If Next 'RELECTURE For i = 1 To j MsgBox LesBouts(i) Next End Sub
Merci les gars vos deux solutions sont parfaites.
Un exemple vaut mille mots...
pour le tableau c'est le même principe... Tu définit un tableau dynamique de chaînes de caractères que tu remplis dans la routine Convertir à la place d'un listbox...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Option Explicit ' un champ de texte (textbox) nommé txtChaine ' une zone de liste (listebox) nommée lstTab2Car ' deux boutons (Command) nommés cmdConvertir et cmdQuitter ' sur une feuille (Form) nommée comme tu voudras Private Sub cmdConvertir_Click() If txtChaine.Text <> "" Then Convertir txtChaine.Text End Sub Private Sub Convertir(psChaine As String) Dim liI As Integer liI = 1 lstTab2Car.Clear Do While liI <= Len(psChaine) lstTab2Car.AddItem Mid(psChaine, liI, 2) liI = liI + 2 Loop End Sub Private Sub cmdQuitter_Click() End End Sub
- Pour les nouveaux : Mode d'emploi et aide aux nouveaux
- et impérativement les règles du forum. Histoire de garder une ambiance amicale.
- Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
- Cours Excel - FAQ Excel - Forum Excel - Cours VBA - Cours complet VBA Excel
Trois solutions pour lui tout seul... Salut zaza, paraît qu'il fait beau chez toi...
A+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager