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

  • Initiateur de la discussion Initiateur de la discussion JulienB
  • Date de début Date de début

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 !

J

JulienB

Guest
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

++
 
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
@+
 
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:
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
 
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:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
3
Affichages
1 K
MarieChérie
M
A
Réponses
33
Affichages
4 K
Aurel60540
A
Réponses
5
Affichages
805
N
Réponses
17
Affichages
3 K
ninajams
N
J
Réponses
3
Affichages
2 K
jujunexcelpas
J
A
Réponses
0
Affichages
560
azerty29
A
Retour