[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

Réponses
5
Affichages
717

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou