Accueil > > > 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
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
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Forum
TAILLETAILLE par nounuo74
Cliquez pour lire la suite par nounuo74
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|