Pb sur la gestion d'extension... please

babap1

XLDnaute Occasionnel
Bonsoir,

j'aimerai interdire toutes les extentions dans une TextBox, sauf ".db"
J'ai un problême puisque si je mets ".db123cc" il va l'accepter... parce qu'il reconnait le ".db" du début !!

Quelqu'un voit le souci?

Code:
Private Sub Txt_EqType_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim strChaine As String
    Dim intCar As Integer
    
    'Cannot contain the extentions xls or xml
    strChaine = Txt_EqType.Value
        
    intCar = InStr(InStr(1, strChaine, ".db") + 3, strChaine, ".")
    If intCar > 0 Then
        strChaine = Mid(strChaine, 1, intCar - 1)
    End If
    
    Txt_EqType.Value = strChaine
End Sub

Merci d'avance,
Baptiste
 

Kobal

XLDnaute Junior
Re : Pb sur la gestion d'extension... please

Bonjour,
Rajoute la fonction "right" dans ton code:

intCar = InStr(InStr(1, right(strChaine,3), ".db") + 3, strChaine, ".")
Ainsi, si les 3 derniers caractères ne sont pas ".db", intCar sera nul.
(a priori)
 

babap1

XLDnaute Occasionnel
Re : Pb sur la gestion d'extension... please

HI Kobal,

c'est pas mal mais si le nom qui est avant l'extension fait plus de 4 caractères alors il enlève quand même l'extention...

Exemple :
text.db -> text.db
texte.db -> texte ?

merci
 
Dernière édition:

Kobal

XLDnaute Junior
Re : Pb sur la gestion d'extension... please

En fait, je n'avais pas lu le reste du code, je pensais que tu cherchais juste à détecter l'extension ".db"
(dans ce cas, InStr(Right(strChaine, 3), ".db") suffit)

Si j'ai bien compris le reste de ton code, tu veux voir si tu as un fichier du type "fichier.db.truc", et garder "fichier.db" seulement?
 

babap1

XLDnaute Occasionnel
Re : Pb sur la gestion d'extension... please

Si j'ai bien compris le reste de ton code, tu veux voir si tu as un fichier du type "fichier.db.truc", et garder "fichier.db" seulement?

J'aimerai que tu ne puisse mettre que l'extension ".db" ou rien d'autre. C'est à dire que si tu essayes de mettre une autre extention (".dbxx", ".type", ".db.xls") alors il faut qu'il supprime cette extention.
 
Dernière édition:

Kobal

XLDnaute Junior
Re : Pb sur la gestion d'extension... please

Si je ne m'abuse, ton code fait ce que je dis, c'est à dire qu'il efface toute extension suivant l'extension ".db"
on pourrait avoir "texte.dbsurplus.com", la macro retire ".com" en fait.
J'ignore le contexte du code, mais s'il ne trouve pas ".db", ce code ne fait rien non plus.

Il existe peut etre plus simple:
Code:
if instr(right(strChaine,3),".db") = 0 then 
msgbox("nom de fichier invalide, veuillez mettre un fichier en .db")
'commande d'effacement du contenu s'il faut
end if
(a compléter en fonction de l'endroit de saisie du texte)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 875
Membres
103 980
dernier inscrit
grandmasterflash38