1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| Option Explicit
'Déclaration des variables globales
Dim Titre,MaChaine,fso,ws,LogFile
'Titre du Script
Titre = "convertir en lettre majuscule après chaque occurence d'un caractères"
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("Wscript.Shell")
'Nom du fichier qui va stocker le résultat
LogFile = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, ".")) & "txt"
if fso.FileExists(LogFile) Then 'Si le fichier LogFile existe
fso.DeleteFile LogFile 'alors on le supprime
end If
'La boîte de saisie de la chaîne de caractères
MaChaine = InputBox("Taper votre chaîne de caractères séparé par un point "& DblQuote(".") & vbCrLf &_
"Exemple : " & DblQuote("www.developpez.com"),Titre,"www.developpez.com")
'Si la Chaîne est vide ou bien on ne tape rien dans l'inputbox,alors on quitte le script
If MaChaine = "" Then Wscript.Quit
'On affiche le résultat dans un MsgBox
MsgBox "Le résultat de la conversion est : " & DblQuote(MajDebutChaine(MaChaine,".")),64,Titre
'Ecrire le résultat dans un fichier
WriteLog MajDebutChaine(MaChaine,"."),LogFile
ws.Run LogFile,1,False
'*****************************************************************
Function ExtractDebutChaine(MaChaine)
'Extraction du premier caractère à gauche
ExtractDebutChaine = Left(Machaine,1)
End Function
'*****************************************************************
'*****************************************************************
Function MajDebutChaine(MaChaine,Separateur)
Dim strText,arrText,i
'instancier notre variable strText
strText = ""
'On stocke notre chaîne de caractères dans un tableau
arrText = Split(MaChaine,Separateur)
'On parcourt notre tableau à partir du 2ème indice i = LBound(arrText) + 1
For i = LBound(arrText) + 1 to UBound(arrText)
'On écrit notre nouvelle chaîne de caractères dans la variable strText
strText = strText & Separateur & Ucase(Left(arrText(i),1)) & mid(arrText(i),2)
'Si l'indice i est égale à l'indice le plus haut de notre tableau alors
'le separateur = ""
If i = UBound(arrText) Then Separateur = ""
Next
'Retour de notre résultat
MajDebutChaine = arrText(0) & Separateur & strText
End Function
'*****************************************************************
'*****************************************************************
'Fonction pour ajouter des guillemets dans une variable
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'*****************************************************************
'*****************************************************************
'Fonction pour écrire le résultat dans un fichier texte
Sub WriteLog(strText,LogFile)
Dim fs,ts
Const ForAppending = 8
Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(LogFile,ForAppending,True)
ts.WriteLine strText
ts.Close
End Sub
'***************************************************************** |
Partager