Accueil > > > FONCTION REPLACE NON RECONNUE DANS VBA : UNE FONCTION DE REMPLACEMENT (!)
FONCTION REPLACE NON RECONNUE DANS VBA : UNE FONCTION DE REMPLACEMENT (!)
Information sur la source
Description
J'ai échangé à deux reprises des messages avec des utilisateurs de VBA Excel confrontés à l'absence de la fonction "Replace" dans leur éditeur. J'engage les personnes connaissant la solution à ce problème à nous la communiquer. En attendant, on pourra toujours se dépanner avec cette petite fonction à coller dans un module de code.
Source
- ' Texte = texte où rechercher l'expression à remplacer.
- ' TexteRecherché = expression à remplacer.
- ' NouveauTexte = expression de remplacement.
- ' Départ = numéro de caractère du début de la recherche, commençant à 1.
-
- Public Function Remplacer(ByVal Texte As String, ByVal TexteRecherché As String, _
- ByVal NouveauTexte As String, Optional ByVal Départ As Integer = 1) As String
- Dim strTemp1 As String, strTemp2 As String
- Dim I As Integer
- On Error GoTo RemplacerErr
- strTemp1 = Texte
- I = InStr(Départ, strTemp1, TexteRecherché)
- Do Until I = 0
- strTemp2 = Left(strTemp1, I - 1) & NouveauTexte _
- & Right(Texte, Len(strTemp1) - I - Len(TexteRecherché) + 1)
- strTemp1 = strTemp2
- I = InStr(I + Len(NouveauTexte), strTemp1, TexteRecherché)
- Loop
- Remplacer = strTemp1
- Exit Function
- RemplacerErr:
- ' Gestion d'erreur simplissime, il ne peut pas se passer grand-chose
- ' sauf si Départ est inférieur à 1
- Select Case Err.Number
- Case Else
- Err.Raise Number:=vbObjectError + 1000, _
- Description:="Erreur dans la fonction Remplacer : " & vbCrLf & Err.Description
- End Select
- End Function
' Texte = texte où rechercher l'expression à remplacer.
' TexteRecherché = expression à remplacer.
' NouveauTexte = expression de remplacement.
' Départ = numéro de caractère du début de la recherche, commençant à 1.
Public Function Remplacer(ByVal Texte As String, ByVal TexteRecherché As String, _
ByVal NouveauTexte As String, Optional ByVal Départ As Integer = 1) As String
Dim strTemp1 As String, strTemp2 As String
Dim I As Integer
On Error GoTo RemplacerErr
strTemp1 = Texte
I = InStr(Départ, strTemp1, TexteRecherché)
Do Until I = 0
strTemp2 = Left(strTemp1, I - 1) & NouveauTexte _
& Right(Texte, Len(strTemp1) - I - Len(TexteRecherché) + 1)
strTemp1 = strTemp2
I = InStr(I + Len(NouveauTexte), strTemp1, TexteRecherché)
Loop
Remplacer = strTemp1
Exit Function
RemplacerErr:
' Gestion d'erreur simplissime, il ne peut pas se passer grand-chose
' sauf si Départ est inférieur à 1
Select Case Err.Number
Case Else
Err.Raise Number:=vbObjectError + 1000, _
Description:="Erreur dans la fonction Remplacer : " & vbCrLf & Err.Description
End Select
End Function
Historique
- 17 janvier 2007 00:13:24 :
- La fonction pouvait entrer en boucle si le texte de remplacement contenait lui-même le texte à rechercher. Pour éviter ça, à chaque fois que le texte recherché est trouvé, la recherche se poursuit après le remplacement de texte.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Problème VBA avec un REPLACE. [ par ferredan ]
Bonjour,J'ai une feuille EXCEL dans laquelle, dans certaines cellules, il y a du texte de la forme "A=si(lc(3)=0;"";1)" (En réalité les formules sont
[vba] Pb utilisation fonction replace avec excel [ par cokinoumasterflash ]
Bonjour, je rencontre un problème en utilisant la fonction replace.Ce que je cherche à faire c'est de remplacer les virgules de mes cellules
VBA chaines de caractères Replace Respectant la casse [ par misstickrii ]
Bonjour, Je m'excuse de créer le sujet deux fois mais j'ai cherché et je n'ai pas trouvé comment modifier le sujet d'un topic! [^^drapeaublanc] Ayant
Fonction replace en VBA, problème [ par Spylover ]
Bonjour,j'utilise chez moi Office XP et j'utilise la fonction replace(,,,) qui fonctionne très bien, à titre pro, j'essaie d'utiliser cette fonction e
Problème fonction replace(,,,) en VBA [ par Spylover ]
Bonjour,j'utilise chez moi Office XP et j'utilise la fonction replace(,,,) qui fonctionne très bien, à titre pro, j'essaie d'utiliser cette fonction e
Fonction replace en VBA access [ par WrestlingMan ]
Voila : j'ai un petit souci ! En effet, j'ai réalisé une requête d'insertion pour un formulaire de saisie de résultats de tests sportifs ! Le problème
Fermer un formulaire VBA [ par mmmxtina ]
Bonjour à tous.Petite question.J'ai fais une appli qui lorsque j'ouvre un fichier excel, un formulaire s'ouvre.Ce "formulaire" propose 3 boutons, qui
Probléme compil [ par jeanjeandada ]
Bonjour,Voilà J'ai dans mon module 2 du classeur Excel "monclasseur" une macro qui fait appel à des functions programmé et à des fonction dans la bibl
vba pivotitems format date [ par mimi840 ]
Bonjour,
VBA début [ par Gokunpseudo ]
Bonjour je suis un étudiant qui touche un peu en langage C et qui pour des raisons perso doit se mettre au VBA.Sauf que je ne m'en sort pas c'est l'ho
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|