Bonjour à tous,
j'ai besoin d'un petit conseil sur la fonction Replace. J'ai une procédure qui après saisie d'un form remplace une chaine, dans le nom des feuilles Excel. Je voulais faire une box "Mot entier" comme sous Excel :
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 If ISR_frmMain.cbSupprExactWord = 0 Then 'la box n'est pas cochée : on remplace tout FinalSheetName = Replace(CurrentSheetName, SupprValue, "", 1) Else 'la box est cochée, on remplace que le mot entier If InStr(1, CurrentSheetName, SupprValue, vbTextCompare) <> 0 Then FinalSheetName = Replace(CurrentSheetName, SupprValue, "", , InStr(CurrentSheetName, SupprValue)) End If End If
j'ai 2 feuilles TEST_TEST01_TEST ; TEST_TEST02_TEST
Je veux remplacer "TEST"
- La première condition (lorsque la box "Mot entier" n'est pas cochée) fonctionne bien, elle remplace tout, mes feuilles deviennent _01_ ; _02_
- Lorsque je veux remplacer uniquement TEST (et avoir ainsi _TEST01_, ca ne fonctionne pas... J'ai bien tenté de rechercher la position de la chaine et la passer dans l'argument Count de Replace mais ca ne fonctionne pas bien...
Avez vous une solution pour ca ?
Merci
Partager