VBA - Supprimer les caractères jursqu'a

Bonjour à tous,

Quelle fonction permet de supprimer une chaine de caractère avec VBA en précisant le caractère jusqu'au quel il faut supprimer ?

Ex :

La chaine suivante:

1 2 3 4 5 6...

Je souhaite supprimer tout ce qui est avant le 5.

Et même question à l'inverse : comment supprimer tout ce qui est après un caractère spécifique ?

Je vous remercie pour votre réponse,

Adevy

Bonjour,

Avec le texte en A1 :

- pour supprimer tout ce qui est avant le 5.

=STXT(A1;TROUVE("5";A1);9^9)

- pour supprimer tout ce qui est après le 5.

=STXT(A1;1;TROUVE("5";A1))

A+

Merci beaucoup pour cette réponse, mais je souhaite connaitre le code VBA (et non Excel)

J'avais lu en diagonale

Sub Test()
Dim Valeur As String
Dim Position As Long
Dim Texte1 As String, Texte2 As String
    Valeur = InputBox("Quel est le caractère à rechercher ?")
    Position = InStr(Range("A1"), Valeur)
    If Position > 0 Then
        Texte1 = Mid(Range("A1"), Position, 9 ^ 9)
        Texte2 = Mid(Range("A1"), 1, Position)
        MsgBox "Après avoir supprimé tout ce qui est avant le " & Valeur & " : " & Chr(10) & Texte1 & Chr(10) & Chr(10) & _
    "Après avoir supprimé tout ce qui est après le " & Valeur & " : " & Chr(10) & Texte2
    Else
        MsgBox "Le caractère " & Valeur & " n'est pas présent dans la chaîne de caractères."
    End If
End Sub

A+

Bonjour,

Merci beaucoup pour votre réponse.

Mon objectif n'est pas de le faire apparaitre dans une msg box. En fait, j'ai plein de cellule avec

Téléphone 0123456789

Téléphone 0987564231

etc..

Et je veux que si le début de la cellule = téléphone, alors les chiffres sont copiés dans une cellule.

Voici un extrait de code

 If Left(Cells(ligne, 1), 9) = "Téléphone" Then
        Cells(compteur + 1, "H") = Cells(ligne, 1)

    End If

Je cherche l'instruction pour spécifier que la valeur doit etre seulement celle des chiffres.

Je vous remercie.

Adevy

Bonjour,

On peut gagner du temps si les problèmes sont énoncés clairement dès le départ

Pour tes prochaines demandes, pense aussi à joindre un fichier exemple.

Sub Test()
Dim Cel As Range
Dim Ligne As Byte
    Ligne = 2
    With Worksheets("Feuil1")
        For Each Cel In .Range(.Cells(Ligne, 1), .Cells(Rows.Count, 1).End(xlUp))
            If Left(Cel, 9) = "Téléphone" Then
                Cel.Offset(0, 9) = Mid(Cel, Len(Cel) - 9)
            End If
        Next Cel
    End With
End Sub

A+

Rechercher des sujets similaires à "vba supprimer caracteres jursqu"