mierkool
Messages postés61Date d'inscriptionmardi 16 mars 2004StatutMembreDernière intervention 9 septembre 2009
-
17 mars 2008 à 19:39
mierkool
Messages postés61Date d'inscriptionmardi 16 mars 2004StatutMembreDernière intervention 9 septembre 2009
-
18 mars 2008 à 00:50
Bonjour,
je voudrais savoir comment faire pour dans une chaine de caractères, déplacer le déterminant du début de la phrase et le mettre à la fin de la phrase entre parathèse.
ex :
"LE DEVELOPPEMENT SOUS VB" => "DEVELOPPEMENT SOUS VB (LE)"
qui comprenne tous les déterminants : le la, l', mon, ton, son, ma, ta, sa, mes, tes, ses, cet, cette sauf un et une.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 mars 2008 à 23:46
Allez !
Une autre encore (pendant qu'on y est)
Private Sub Command1_Click()
Dim titi As String, mesdet, I As Integer, mondet As String
titi = "cette petit et le gros mangent le gateau"
mesdet = Array("le", "la", "mon", "ton", "son", "ma", "ta", "sa", "mes", "tes", "ses", "cet", "cette")
For I = 0 To UBound(mesdet)
If LCase(titi) Like mesdet(I) & " *" Then
mondet = mesdet(I)
Exit For
End If
Next
If mondet <> "" Then
titi = Mid(titi, Len(mondet) + 1) & " " & mondet
End If
MsgBox Trim(titi)
End Sub
mierkool
Messages postés61Date d'inscriptionmardi 16 mars 2004StatutMembreDernière intervention 9 septembre 2009 17 mars 2008 à 21:07
ok merci
mais ça le fait pour n'importe quel mot qui se retrouve en premier, il faudrait que ça le fasse seulement pour les phrases ou il y a un determinant au debut...
merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Lunikmarty
Messages postés55Date d'inscriptionlundi 3 mars 2008StatutMembreDernière intervention17 avril 2008 17 mars 2008 à 22:20
Private Sub Command1_Click()
Dim ListeDeterminant As String
Dim MaChaine As String
Dim Determinant() As String
Dim PremierMot As String
Dim i As Integer
' Récupération de la liste des déterminant dans un tableau
ListeDeterminant = "le,la,mon,ton,son,ma,ta,sa,mes,tes,ses,cet,cette"
Determinant = Split(ListeDeterminant, ",", -1, 1)
MaChaine =LCase(Text1.Text)
' Test si le deuxiéme caractére est l'apostrophe
If Mid(MaChaine, 2, 1) = "'" Then
Label1.Caption = Replace(MaChaine, Left(MaChaine, InStr(1, MaChaine, "'")), "") & "(l')"
Exit Sub
End If
For i = 0 To UBound(Determinant)
If StrComp(Determinant(i), PremierMot) = 0 Then
MaChaine = Replace(MaChaine, Left(MaChaine, InStr(1, MaChaine, " ") - 1), "") & " (" & Determinant(i) & ")"
Exit For
End If
Next i
mierkool
Messages postés61Date d'inscriptionmardi 16 mars 2004StatutMembreDernière intervention 9 septembre 2009 17 mars 2008 à 23:01
ça marche sauf quand il y a deux foix le même déterminant et en plus le déterminant est remplacé par un espace, genre :
"le petit et le gros mangent le gateau" donne " petit et gros mangent gateau"
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 mars 2008 à 23:27
Bonsoir,
Private Sub Command1_Click()
Dim titi As String, mesdet, I As Integer, mondet As String
titi = "le petit et le gros mangent le gateau"
mesdet = Array("le ", "la ", "mon ", "ton ", "son ", "ma ", "ta ", "sa ", "mes ", "tes ", "ses ", "cet ", "cette ")
For I = 0 To UBound(mesdet)
If LCase(Left(titi, Len(mesdet(I)))) = mesdet(I) Then
mondet = mesdet(I)
Exit For
End If
Next
If mondet <> "" Then
titi = Mid(titi, Len(mondet) + 1) & " " & mondet
End If
MsgBox Trim(titi)
End Sub
Lunikmarty
Messages postés55Date d'inscriptionlundi 3 mars 2008StatutMembreDernière intervention17 avril 2008 17 mars 2008 à 23:43
Private Sub Command1_Click()
Dim ListeDeterminant As String
Dim MaChaine As String
Dim Determinant() As String
Dim PremierMot As String
Dim i As Integer
Dim position As Integer
' Récupération de la liste des déterminant dans un tableau
ListeDeterminant = "le,la,mon,ton,son,ma,ta,sa,mes,tes,ses,cet,cette"
Determinant = Split(ListeDeterminant, ",", -1, 1)
MaChaine =LCase(Text1.Text)
position = InStr(1, MaChaine, " ", 1)
' Test si le deuxiéme caractére est l'apostrophe
If Mid(MaChaine, 2, 1) = "'" Then
Label1.Caption = Mid(MaChaine, position + 1, Len(MaChaine) - position + 1) & "(l')"
Exit Sub
End If
Lunikmarty
Messages postés55Date d'inscriptionlundi 3 mars 2008StatutMembreDernière intervention17 avril 2008 17 mars 2008 à 23:59
Je ne peux que m'incliner devant l'ingéniosité de la (ou plutôt des ^^) méthode de jmfmarques. Je te conseil donc de suivre ses conseils.... >> méthode est un peu trop longue. (ma)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 18 mars 2008 à 00:27
Bonjour, Lunikmarty,
Tu as tort d'applaidir trop vite...
La voilà, la plus rapide
Private Sub Command4_Click()
Dim titi As String, mesdet As String, pos As Integer
titi = "Le petit et le gros mangent le gateau"
mesdet = "le la les mon ton son ma ta sa mes tes ses cet cette ces "
pos = InStr(titi, " ")
If InStr(mesdet, LCase(Left(titi, pos))) Then
titi = Mid(titi, pos + 1) & " " & LCase(Left(titi, pos - 1))
End If
MsgBox Trim(titi)
End Sub