Pb sur la gestion d'extension... please

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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)
 
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:
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?
 
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:
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 modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
Réponses
1
Affichages
578
V
Réponses
17
Affichages
3 K
VBgalère
V
J
Réponses
0
Affichages
625
jptaz15
J
G
Réponses
0
Affichages
1 K
guiboubou233
G
Réponses
8
Affichages
2 K
Retour