Accueil           Recherche       Annuaire   

 Album   

Documents       Jeux     Chat     Blogs     Forum

Pratique
Formation-Orientation
Stage - Job
Vie étudiante
Sexualité - Psycho
Documents
Droit
Gestion
Finance
Economie
Econométrie
Commerce
Sciences sociales
Informatique
Détente
Test d'intelligence
Quiz
Humour
Jeux
Plus!
Traducteur
Annuaire inversé
Cartes & itinéraires
Service public
A propos
Charte du site
Récompenses
Nous recommander
Partenaires
Contact

 PROGRAMMATION VBA - TRAITEMENT DES CHAINES DE CARACTERES

Support logiciels     Culture informatique    Programmation

 

Nécessité de ces traitements

 Les données manipulées par un programme sont essentiellement de type numérique ou chaîne de caractères.

Si les types numériques sont très utilisés par les programmes scientifiques, le type chaîne est incontournable pour des étudiants en Lettres et Sciences Humaines.

Une variable chaîne de caractères se déclare de type String.

Exemple 1 :

Dim MotProposé As String

La variable contient alors une chaîne de longueur variable selon l'affectation qui suivra.

Exemple 2 :

Dim Lettre As String * 1

La variable contient alors une chaîne de longueur 1 c'est à dire un seul caractère.

Exemple 3 :

Dim Adresse As String * 30Haut de page

La variable contient alors une chaîne de longueur 30. Si l'on n'affecte que 18 caractères dans une telle chaîne, le reste est rempli d'espaces. Si l'on affecte plus de 30 caractères le surplus est tronqué.

 

Comparaison des chaînes de caractères

Longueur d'une chaîne :

La longueur d'une chaîne est donnée par la fonction Len.

Exemple :

Phrase = "Alea jacta est."

La fonction Len(Phrase) retournera la valeur 15.

Il est évident que si deux chaînes de caractères n'ont pas la même longueur elles sont différentes. Par contre deux chaînes de même longueur ne sont pas forcément identiques.

 Comparaison binaire :

On compare deux chaînes par la fonction StrComp.Haut de page

Elle renvoie la valeur numérique 0 si les deux chaînes sont rigoureusement identiques et la valeur numérique 1 si les chaînes diffèrent même par un seul octet.

Exemple :

Phrase1 = "My tailor is rich."

Phrase2 = "My Tailor is rich."

Phrase3 = " My tailor is rich."

La fonction StrComp(Phrase1,Phrase2) retournera la valeur …

La fonction StrComp(Phrase1,Phrase3) retournera la valeur …

 

Recherche d'une chaîne de caractères

  • La fonction InStr permet de rechercher si une chaîne de caractères existe à l'intérieur d'une autre chaîne de caractères. Cette fonction retourne la position de la première occurrence de la chaîne recherchée.

Syntaxe :

InStr(Chaîne1, Chaîne2)

Chaîne1 est la chaîne de caractères à traiter (sur laquelle porte la recherche).

Chaîne2 est la chaîne de caractères recherchée dans Chaîne1.

 

Exemple :

Chaîne1 = "Sed lex dura lex" ' Auteur inconnuHaut de page

Chaîne2 = "lex"

Chaîne3 = "gex"

La fonction InStr(Chaîne1,Chaîne2) retournera la valeur "………."

La fonction InStr(Chaîne1,Chaîne3) retournera la valeur 0.

  • La fonction Ucase met tout le texte en majuscules et permet de rechercher indépendamment une lettre minuscule ou majuscule.
  • La fonction Lcase met tout le texte en minuscules et permet…

  

Extraction d'une chaîne de caractères

  • La fonction Right donne la partie droite d'une chaîne de caractères. Le nombre de caractères de cette partie doit être précisé.

Exemple :

Chaîne = "To be or not to be" 'Shakespeare

La fonction Right(Chaîne,5) retournera la valeur "………."

  • La fonction Left donne la partie gauche d'une chaîne de caractères. Le nombre de caractères de cette partie doit être précisé.

Exemple :

Chaîne = "To do is to be" 'Platon

La fonction Left(Chaîne,5) retournera la valeur "………."

  • La fonction Mid extrait une partie d'une chaîne de caractères.Haut de page

Le nombre de caractères de cette partie doit être précisé ainsi que la position du premier caractère extrait.

Syntaxe :

Mid(Texte, Position, Nombre)

Texte est la chaîne de caractère à traiter.

Position est la position dans la chaîne à partir de laquelle il faut extraire des caractères.

Nombre est le nombre de caractères à extraire.

Exemple :

Chaîne = "Do bee do bee do" 'Frank Sinatra

La fonction Mid(Chaîne,4,2) retournera la valeur "…."

La fonction Mid(Chaîne,8,9) retournera la valeur "………..."

  

Applications

La plupart des problèmes sur les chaînes de caractères se traitent à l'aide des fonctions ci-dessus. Leur maniement est assez délicat et les résultats quelquefois difficiles à prévoir. Seule la pratique de leur programmation vous permettra d'en vérifier l'efficacité.

 

Exemple1 :

Que fait ce programme :Haut de page

Dim Vers, Mot As String

Dim Position As Integer

Vers = "Pour qui sont ces serpents qui sifflent sur vos têtes ?"

Mot = InputBox("Taper le mot à rechercher")

Position = InStr(Vers, Mot)

If Position = 0 Then

MsgBox("Pas trouvé !")

Else

 MsgBox("Trouvé à la position " & Position)

End If

 

Exemple2 :

Ce programme compte le nombre d'espaces dans une phrase.

Dim Phrase, Caractère As String

Dim Compteur, Longueur, i As Integer

Phrase = InputBox("Tapez votre phrase")

Longueur = Len (Phrase)

For i = 1 To Longueur

Caractère = Mid(Phrase, i, 1)

If Caractère = " " Then Compteur = Compteur + 1

 Next i

MsgBox("Cette phrase contient " & Compteur & " espaces.")

Haut de page    

Contact                                                    © Niant - Copyrightdepot.com                                          Site déclaré à la CNIL 

Positionnement et Statistiques Gratuites