Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[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
 

Pierrot93

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

Re,

tu pouvais aussi bien te passer de la variable intermédiaire... mais bon, pourquoi pas...

Code:
PROJET = Left(PROJET, 30)
Sheets(Sheets.Count).Name = PROJET
 
G

Guest

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

Re,

Alors pas besoin de recréer une variable 'ONGLET':

Code:
Sheets(Sheets.Count).Name =Left(PROJET,30)

A+
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…