[XLS 2003] : Limiter les données d'une variable.

JulienB

XLDnaute Junior
Bonjour Juilletistes contents d'être rentrés, bonjour Aoutiens contents de partir bientôt.

J'ai ce code

Code:
Dim PROJET As String 'Nom du projet
PROJET = TextBox1.Value
Sheets("Template").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = PROJET


Donc mon onglet prend la valeur de PROJET..
Sauf que je viens de voir (aujourd'hui, maintenant que c'est en production), que les caracteres sont limités dans le nom d'un onglet.

Je pensais faire un truc du style

Code:
Dim NOMONGLET As String 
NOMONGLET = PROJET limit 10
Sheets(Sheets.Count).Name = NOMONGLET

mais comment prendre les 30 premiers caracteres...

Si vous pouviez l'éclairer ....

Merci

++
 

Pierrot93

XLDnaute Barbatruc
Re : [XLS 2003] : Limiter les données d'une variable.

Bonjour Julien

comme le nom de l'onglet est récupéré d'un "textbox", le mieux serait de limiter le nombre de caractères saisissables dans ce controle. Pour ce faire tu peux utiliser la propriété "MaxLength", code ci-dessous à utiliser dans l'événement "Initialize" de l'usf... si tu en as un bien sur....

Code:
TextBox1.MaxLength = 10

bonne journée
@+
 
G

Guest

Guest
Re : [XLS 2003] : Limiter les données d'une variable.

Bonjour,

Code:
[COLOR=blue]Sub[/COLOR] test()
    [COLOR=blue]Dim[/COLOR] PROJET [COLOR=blue]As[/COLOR] [COLOR=blue]String[/COLOR]    [COLOR=green]'Nom du projet[/COLOR]
    PROJET = Left(TextBox1.Value, 10)
    Sheets([I]"Template"[/I]).Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = PROJET
[COLOR=blue]End[/COLOR] [COLOR=blue]Sub[/COLOR]

Ou alors tu limites la propriété MaxLength du TextBox à 10

[Edit] Salut Pierrot
A+
 
Dernière modification par un modérateur:

Pierrot93

XLDnaute Barbatruc
Re : [XLS 2003] : Limiter les données d'une variable.

Re,

sinon, pour extraire les x premiers caractères d'une chaîne...
Code:
Dim t As String
t = "azertyuiop"
t = Left(t, 5)

remplace le 5 par le nombre voulu...

Edition: bonjour Hasco
 

kiki29

XLDnaute Barbatruc
Re : [XLS 2003] : Limiter les données d'une variable.

Salut,à tester et adapter si besoin
Code:
Option Explicit

Function NomFeuilleValide(ByVal Nom As String) As String
Const CaracInterdits As String = ":/\?*[]"
Dim i As Integer, Car As String * 1
    Nom = Trim(Nom)
    
    For i = 1 To Len(CaracInterdits)
        Car = Mid$(CaracInterdits, i, 1)
        Nom = Replace(Nom, Car, "")
    Next
    
    Select Case Len(Nom)
        Case 0: Exit Function
        Case Is > 31: Nom = Left$(Nom, 31)
    End Select

    NomFeuilleValide = Nom
End Function
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 086
Messages
2 085 197
Membres
102 814
dernier inscrit
JLGalley