Supprimer les 55 premiers caractères d'une ligne MuliLine texbox [Résolu/Fermé]

Signaler
-
Messages postés
7065
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 novembre 2020
-
Bonjour, je voudrais supprimer les 55 premiers caractères de chaque ligne d'une TextBox MuliLine, je m'explique :
*
La par exemple j'ai 3 liens de suite dans une TextBox MultiLine :
http://image.noelshack.com/fichiers/2015/29/1437052593-1.png
http://image.noelshack.com/fichiers/2015/29/1437052593-3.gif
http://image.noelshack.com/fichiers/2015/29/1437052593-349.png
*
Je voudrais garder que ce qu'il y a après le tiret donc :
1.png
3.gif
349.png
*
J'ai pensé pour cela supprimer les 55 premiers caractères, j'ai cherché un-peu partout sur internet mais j'ai rien trouvé...
Merci.

3 réponses

Messages postés
7065
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 novembre 2020
577
Bonjour,

Mettre un TexBox multiligne dans un UserForm avec ce code:

Option Explicit
Dim chaine As String
Private Sub userForm_Initialize()
    With TextBox1
        'Autorise les mutilignes dans le TextBox
        'Attention: cette propriété est toujours à False par défaut
        .MultiLine = True
        
        'Spécifie que la touche ENTRÉE ajoutera une nouvelle ligne.
        .EnterKeyBehavior = True
    End With
End Sub
Private Sub CommandButton1_Click()
Dim DecoupeLigne() As String
'rempli le textbox avec 3 lignes
TextBox1 = "http://image.noelshack.com/fichiers/2015/29/1437052593-1.png " & vbCrLf _
            & "http://image.noelshack.com/fichiers/2015/29/1437052593-3.gif " & vbCrLf _
            & "http://image.noelshack.com/fichiers/2015/29/1437052593-349.png "
           
DecoupeLigne = Split(TextBox1, vbNewLine, , vbTextCompare)
chaine = DecoupeLigne(UBound(DecoupeLigne))
extractionMots
chaine = DecoupeLigne(UBound(DecoupeLigne) - 1)
extractionMots
chaine = DecoupeLigne(LBound(DecoupeLigne))
extractionMots
End Sub
'Extraire les données séparées par un tiret dans une chaine de caractères
Sub extractionMots()
    Dim Tableau() As String
    Dim i As Integer
    
    'découpe la chaine en fonction des tirets "-"
    'le résultat de la fonction Split est stocké dans un tableau
    Tableau = Split(chaine, "-")
    
    'boucle sur le tableau pour visualiser le résultat
    For i = 0 To UBound(Tableau)
        'Le résultat s'affiche dans la fenêtre d'execution de l'éditeur de macros
       Debug.Print Tableau(i)
       Next i
     MsgBox Tableau(1)
End Sub


Merci :)
Messages postés
7065
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 novembre 2020
577
Si tu veux mettre le résultat des MsgBox dans ta TextBox, il faut utiliser des variables comme ceci:

Option Explicit
Dim chaine As String
Dim result, ligne1, ligne2, ligne3 As String
Private Sub userForm_Initialize()
    With TextBox1
        'Autorise les mutilignes dans le TextBox
        'Attention: cette propriété est toujours à False par défaut
        .MultiLine = True
        
        'Spécifie que la touche ENTRÉE ajoutera une nouvelle ligne.
        .EnterKeyBehavior = True
    End With
End Sub
Private Sub CommandButton1_Click()
Dim DecoupeLigne() As String
'rempli le textbox avec 3 lignes
TextBox1 = "http://image.noelshack.com/fichiers/2015/29/1437052593-1.png " & vbCrLf _
            & "http://image.noelshack.com/fichiers/2015/29/1437052593-3.gif " & vbCrLf _
            & "http://image.noelshack.com/fichiers/2015/29/1437052593-349.png "
           
DecoupeLigne = Split(TextBox1, vbNewLine, , vbTextCompare)
chaine = DecoupeLigne(UBound(DecoupeLigne))
extractionMots
ligne3 = result
chaine = DecoupeLigne(UBound(DecoupeLigne) - 1)
extractionMots
ligne2 = result
chaine = DecoupeLigne(LBound(DecoupeLigne))
extractionMots
ligne1 = result
TextBox1 = ""
TextBox1 = ligne1 & vbCrLf _
           & ligne2 & vbCrLf _
           & ligne3
End Sub
'Extraire les données séparées par un tiret dans une chaine de caractères
Sub extractionMots()
    Dim Tableau() As String
    Dim i As Integer
    
    'découpe la chaine en fonction des tirets "-"
    'le résultat de la fonction Split est stocké dans un tableau
    Tableau = Split(chaine, "-")
    
    'boucle sur le tableau pour visualiser le résultat
    For i = 0 To UBound(Tableau)
        'Le résultat s'affiche dans la fenêtre d'execution de l'éditeur de macros
       Debug.Print Tableau(i)
       Next i
     result = Tableau(1)
End Sub