begin process at 2010 02 10 13:26:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > REMPLACER TOUTE LES INSTANCES D'UNE CHAINE PAR UNE AUTRE CHAINE. (COMME DANS CERTAINS PROGRAMMES)

REMPLACER TOUTE LES INSTANCES D'UNE CHAINE PAR UNE AUTRE CHAINE. (COMME DANS CERTAINS PROGRAMMES)


 Information sur la source

Note :
Aucune note
Catégorie :Texte Niveau :Initié Date de création :25/07/2002 Date de mise à jour :25/07/2002 18:57:32 Vu / téléchargé :3 717 / 289

Auteur : Gorgot

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Salut,
C'est le premier code que je commente et que je rends compréhensible donc j'espère que vous allez l'aimer :D Il ya a beacoup d'explications dans le module pour que vous puissiez le modifier à vôtre guise. J'ai aussi mit les équivalents en français des variables que j'ai utiliser (J'utilise toujours des variables en anglais car le basic c comme de l'anglais et ça aide à la compréhension quand il n'y a pas de changement de language :D)

Source

  • '***********************************************************************'
  • '* Vous pouvez utilisez ce module comme vous le voulez *'
  • '* mais si vous l'utilisez en entier je vous prie laisser ces lignes *'
  • '* et si vous distribuez un programme contenant ce module, je vous *'
  • '* prie de m'inclure mon nom dans les crédits *'
  • '*---------------------------------------------------------------------*'
  • '* Ce module à été crée par: Michaël St-Georges *'
  • '* Pour me contacter: M_St-Georges@copsoft.tk *'
  • '* Pour plus de modules du genre, de programmes en codes sources, *'
  • '* de formules utilisables en développement, visitez ce site web: *'
  • '* http://source.copsoft.tk *'
  • '*---------------------------------------------------------------------*'
  • '* Copyright © 2002 CopSoft(Michaël St-Georges) *'
  • '***********************************************************************'
  • Dim SearchStart As Integer 'Équivalent en fraçais: SearchStart: Début de la Recherche.
  • Dim FoundAt As Integer 'Équivalent en fraçais: FoundAt: Trouvé à.
  • Dim AfterReplace As String 'Équivalent en fraçais: AfterReplacet: Après Remplacement.
  • Public Function Replace(What As String, ByWhat As String, InWhat As String, CompareMethod As VbCompareMethod) As Variant 'Équivalents en français: Replace: Remplacer; What:Quoi; ByWhat:Par Quoi; InWhat:Dans Quoi; CompareMethod:Méthode de Comparaison.
  • 'Si on utilise vbTextCompare comme CompareMethod, le programme ne respecteras pas la case du mot à remplacer alors que si on utilise vbBinaryCompare, le programme respecteras la case du mot à remplacer.
  • SearchStart = 1 'Je réinitialise toujours les variables qui seront utilisés avant d'être modifiés pour éviter les erreurs et pour faciliter le débug
  • AfterReplace = InWhat 'On mets le texte dans lequel chercher dans une autre variable que l'on pourra modifier.
  • Do
  • FoundAt = InStr(SearchStart, AfterReplace, What, CompareMethod) 'On Cherche tout premièrement la prochaine(Ou la première) instance de la chaine à remplacer.
  • If FoundAt = 0 Then 'On vérifies si on a trouver une instance de la chaine à remplacer.
  • Replace = AfterReplace
  • Exit Function
  • Else 'On pourrais mettre end if car la fonction est deja arètée a ce point mais je mets else pour éviter les erreurs et pour faciliter le débug.
  • SearchStart = FoundAt + Len(What) ' On mets les point de départ pour la recherche de la prochaine instance.
  • AfterReplace = Left(AfterReplace, FoundAt - 1) & ByWhat & Right(AfterReplace, Len(AfterReplace) - (FoundAt + Len(What) - 1)) 'On Remplace la chaine à remplacer par la chaine avec laquelle on remplace.
  • 'La Fonction Left est utilisée pour trouver ce qui est situé avant la chaine à remplacer
  • 'Après on ajoute la chaine par quoi il faut remplacer.
  • 'Après La Focntion Right est utilisée pour ajouter ce qui se trouve après la chaine à remplacer.
  • 'Explications de l'utilisation du Left: AfterReplace est la chaine ou prendre la sous-chaine à insérer dans une autre chaine; FoundAt-1 est utiliser pour définir la longeur que la sous-chaine doit avoir. J'ai ajouter -1 après FoundAt car InStr retourne la position du premier caractère de la chaine recherchée et Left a besoin de la position du charactère juste avant.
  • End If
  • Loop
  • End Function
  • 'Pour demmander à l'utilisateur s'il veut remplacer les instances trouvés comme dans certains programmes, il s'uffit d'ajouter ces lignes:
  • 'Des les déclarations du module:
  • ' Dim ReplaceAnswer As Integer 'Équivalent en fraçais: ReplaceAnswer: Réponse de Replacement.
  • 'Dans la fonction:
  • ' - Débutant à la ligne 12:
  • ' ReplaceAnswer = Form1.CanReplace(FoundAt, What) 'Note: Il faut changer form1 par le nom de la où le texte repose.
  • ' If ReplaceAnswer = 6 Then
  • ' - Débutant à la ligne 17: 'Note la ligne 17 c'est avant qu'on ajoute ce qu'il faut ajouter à la ligne 12 sinon c'est la ligne 19
  • ' End If
  • ' If ReplaceAnswer = 2 Then
  • ' SearchStart = Len(AfterReplace)
  • ' End If
  • 'Nimporte où dans la form:
  • ' Public Function CanReplace(FoundAt As Integer, What As String) As Integer
  • ' Text1.SelStart = FoundAt
  • ' Text1.SelLength = Len(What)
  • ' CanReplace = MsgBox("Voulez vous vraiment replacer cette instance?", vbYesNoCancel, "Remplacer") 'Note: Vous pouvez modifier le texte comme vous le voulez.
  • ' End Function
'***********************************************************************'
'* Vous pouvez utilisez ce module comme vous le voulez                 *'
'* mais si vous l'utilisez en entier je vous prie laisser ces lignes   *'
'* et si vous distribuez un programme contenant ce module, je vous     *'
'* prie de m'inclure mon nom dans les crédits                          *'
'*---------------------------------------------------------------------*'
'*    Ce module à été crée par: Michaël St-Georges                     *'
'*    Pour me contacter: M_St-Georges@copsoft.tk                       *'
'*    Pour plus de modules du genre, de programmes en codes sources,   *'
'*    de formules utilisables en développement, visitez ce site web:   *'
'*    http://source.copsoft.tk                                         *'
'*---------------------------------------------------------------------*'
'* Copyright © 2002 CopSoft(Michaël St-Georges)                        *'
'***********************************************************************'
Dim SearchStart As Integer 'Équivalent en fraçais: SearchStart: Début de la Recherche.
Dim FoundAt As Integer 'Équivalent en fraçais: FoundAt: Trouvé à.
Dim AfterReplace As String 'Équivalent en fraçais: AfterReplacet: Après Remplacement.
Public Function Replace(What As String, ByWhat As String, InWhat As String, CompareMethod As VbCompareMethod) As Variant 'Équivalents en français: Replace: Remplacer; What:Quoi; ByWhat:Par Quoi; InWhat:Dans Quoi; CompareMethod:Méthode de Comparaison.
'Si on utilise vbTextCompare comme CompareMethod, le programme ne respecteras pas la case du mot à remplacer alors que si on utilise vbBinaryCompare, le programme respecteras la case du mot à remplacer.
SearchStart = 1 'Je réinitialise toujours les variables qui seront utilisés avant d'être modifiés pour éviter les erreurs et pour faciliter le débug
AfterReplace = InWhat 'On mets le texte dans lequel chercher dans une autre variable que l'on pourra modifier.
Do
FoundAt = InStr(SearchStart, AfterReplace, What, CompareMethod) 'On Cherche tout premièrement la prochaine(Ou la première) instance de la chaine à remplacer.
If FoundAt = 0 Then 'On vérifies si on a trouver une instance de la chaine à remplacer.
Replace = AfterReplace
Exit Function
Else 'On pourrais mettre end if car la fonction est deja arètée a ce point mais je mets else pour éviter les erreurs et pour faciliter le débug.
SearchStart = FoundAt + Len(What) ' On mets les point de départ pour la recherche de la prochaine instance.
AfterReplace = Left(AfterReplace, FoundAt - 1) & ByWhat & Right(AfterReplace, Len(AfterReplace) - (FoundAt + Len(What) - 1)) 'On Remplace la chaine à remplacer par la chaine avec laquelle on remplace.
'La Fonction Left est utilisée pour trouver ce qui est situé avant la chaine à remplacer
'Après on ajoute la chaine par quoi il faut remplacer.
'Après La Focntion Right est utilisée pour ajouter ce qui se trouve après la chaine à remplacer.
'Explications de l'utilisation du Left: AfterReplace est la chaine ou prendre la sous-chaine à insérer dans une autre chaine; FoundAt-1 est utiliser pour définir la longeur que la sous-chaine doit avoir. J'ai ajouter -1 après FoundAt car InStr retourne la position du premier caractère de la chaine recherchée et Left a besoin de la position du charactère juste avant.
End If
Loop
End Function
'Pour demmander à l'utilisateur s'il veut remplacer les instances trouvés comme dans certains programmes, il s'uffit d'ajouter ces lignes:
'Des les déclarations du module:
'                               Dim ReplaceAnswer As Integer 'Équivalent en fraçais: ReplaceAnswer: Réponse de Replacement.
'Dans la fonction:
'               - Débutant à la ligne 12:
'                                        ReplaceAnswer = Form1.CanReplace(FoundAt, What) 'Note: Il faut changer form1 par le nom de la où le texte repose.
'                                        If ReplaceAnswer = 6 Then
'               - Débutant à la ligne 17: 'Note la ligne 17 c'est avant qu'on ajoute ce qu'il faut ajouter à la ligne 12 sinon c'est la ligne 19
'                                        End If
'                                        If ReplaceAnswer = 2 Then
'                                        SearchStart = Len(AfterReplace)
'                                        End If
'Nimporte où dans la form:
'                         Public Function CanReplace(FoundAt As Integer, What As String) As Integer
'                         Text1.SelStart = FoundAt
'                         Text1.SelLength = Len(What)
'                         CanReplace = MsgBox("Voulez vous vraiment replacer cette instance?", vbYesNoCancel, "Remplacer") 'Note: Vous pouvez modifier le texte comme vous le voulez.
'                         End Function

 Conclusion

Vous pouvez aussi télécharger le ZIP pour avoir la form de test que j'ai mit avec...

Gorgot

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip INTERPRÈTE DE COMMANDES VBSCRIPTS MODIFIÉS (AJOUTER DES SUBS...
Source avec Zip SE PASSER DE VB6FR.DLL FACILEMENT
Source avec Zip JEU DE MARIO BROSS

 Sources de la même categorie

Source avec Zip Source avec une capture AYOUBPAD2009 par ayoube2009
Source avec Zip Source avec une capture PILOTAGE D'AFFICHEURS LCD SUR PORT SÉRIE OU USB par mays
Source avec Zip Source avec une capture TRAITEMENT DE TEXTE RTF par zozo14
FORMATAGE D'UNE CELLULE EXCEL VIA UNE SYNTAXE HTML par 8Tnerolf8
Source avec Zip DÉFILEMENT TEXTE par mimiZanzan

Commentaires et avis

Commentaire de Mecton le 26/07/2002 09:01:51

Arf .... il y a plus de commentaires que de code !! Bravo ! Et en plus sans fautes d'orthographe comme certains ...

Commentaire de webboy le 26/07/2002 14:01:05

mouep c bien pour ceux qui n'ont pas vb6 & +
sinon ya une fonction qui se nomme replace(chaine,chaine a chercher,Caractere de remplacement)

il est vrai que c rare de voir autant de commentaires..
bonne prog

Commentaire de Gorgot le 27/07/2002 07:01:27

Ouais elle en bien commentée et je n'ai pas l'habitude des fautes d'orthographes sauf quand je suis à bout d'énergie... Si je ne sais pas comment écrire un mot, habituellement je le remplace par un autre mot :D

Et pour la fonction de remplacement, elle est pas aussi flexible que celle que j'ai créer (qui permets de demmander à l'utilisateur s'il veut remplacer etc etc.

Gorgot
PS: J'avais oublier d'écrire que j'avais vraiment chercher pour enfin trouver comment savoir où recommencer dans la chaine de base après la chaine qui est remplacée. J'avais aussi oublier de commenter comment cette partie fonctionnais ce que je ferai pas ce soir (il est 1:00 ici, au Québec) car j'ai pas vraiment le gout HEHE

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales