Trouver 1 caractère dans une String en partant de la fin...........

cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 13 juil. 2004 à 09:57
louisvbfrance Messages postés 31 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 12 mars 2009 - 2 août 2004 à 02:10
Bonjour!

Voilà, j'ai une numérotation de titre, par exemple "1.12.3" et je voudrais avoir la position du dernier "." dans cette chaîne de caractères. Je voulais juste savoir si il existe une fonction qui permet de trouver le "." en partant de la fin (j'ai déjà fait une boucle qui me permet de le trouver mais je voudrais trouver plus court). Je sais qu'il existe la fonction Instr mais elle va me donner la position deu 1er point. Est-ce que je peux faire qqchose avec ça? Ou est-ce qu'il faut utiliser une autre fonction?

Merci d'avance!

9 réponses

capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
13 juil. 2004 à 10:06
Et oui il y'a beaucoup plus simple :)
Une fonction identique à instr a été faite pour faire exactement ce que tu veux :) , elle se nomme instrRev

Syntaxe
InstrRev(string1, string2[, start[, compare]])

'les paramettres sont les memes que pour Instr.
--Capoueidiablo--
0
cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
13 juil. 2004 à 10:07
Dans VB6 tu as InStrRev
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
13 juil. 2004 à 10:17
Merci... mais j'ai oublié de préciser que je programme avec VBA et apparemmet ça pose problème, il ne reconnaît pas la fonction. C'est normal?
0
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
13 juil. 2004 à 10:34
C'est marrant moi ca marche sous VBA ...
Tappe Inst puis fais Ctrl+Space voir s'il t'affiche la liste des fonctions commencant pas Instr dont InstrRev
--Capoueidiablo--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
13 juil. 2004 à 11:30
Je l'ai pas, c'est peut-être parce que je travaille avec office97?
0
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
13 juil. 2004 à 11:52
Essaille de voir si tu peux pas le mettre a jour avec les new services pack sur le site de microsoft. Sinon tu vas devoir le coder à la main :-p

PS :
je pence qu'il te donnera les mises a jours a faire automatiquement
Microsoft Office Update
--Capoueidiablo--
0
capoueidiablo Messages postés 316 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 1 février 2010 1
13 juil. 2004 à 12:04
PS :
Microsoft Office Update
--Capoueidiablo--
0
cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
13 juil. 2004 à 17:13
InStrRev n'est apparu qu'avec VB6, donc peut-être est-ce implémenté sous Office 2000, mais j'ai de gros doutes pour Office 97 (génération VB5)
0
louisvbfrance Messages postés 31 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 12 mars 2009
2 août 2004 à 02:10
Sinon, je te propose cela :

Public Function InstrReve(TxtOrig As String, TxtATrouver As String) As Integer
Dim i%
Dim l1%
Dim l2%
Dim Mot$

l1 = Len(TxtOrig)
l2 = Len(TxtATrouver)

For i = (l1 - l2) + 1 To 1 Step -1
Mot = Mid(TxtOrig, i, l2)
If Mot = TxtATrouver Then
InstrReve = i
Exit For
End If
Next
End Function

Julien :)
0
Rejoignez-nous