IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

troncature d'une chaîne de caractères à gauche [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Par défaut troncature d'une chaîne de caractères à gauche
    Bonjour à tous,

    Dans le code ci-dessous (7ème et 8 ème lignes) , je souhaite utiliser le nom du présent fichier excel dans l'intitulé du Label1. Si je ne fais rien, le nom du fichier s'affiche avec l'extension (exemple : Bon de Livraison N° 57.xltm). Je voudrais donc supprimer ".xltm" pour ne garder que le nom usuel du fichier.

    Pour l'instant, j'ai donc pris le parti de sélectionner les 22 premiers caractères de la chaîne. Cela reste valable tant que le numéro de bon est compris entre 10 et 99. Cette solution ne paraît donc pas satisfaisante.

    Pourriez-vous me conseiller pour supprimer les 5 derniers caractères : .xltm.

    Je vous en remercie par avance,
    Très cordialement,
    Maurice

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Private Sub UserForm_Activate()
       Application.DisplayFullScreen = True
            Me.Width = Application.Width
            Me.Height = Application.Height
            Me.Left = 0
            Me.Top = 0
        If Right(ThisWorkbook.Name, 4) <> "xltm" Then
           If ActiveSheet.PageSetup.CenterHeader <> "" Then
                    Label1.Caption = "ÉTABLISSEMENT DU " & Left(ThisWorkbook.Name, 22)
                    Label1.Left = 260
                    Frame1.Caption = "ETABLISSEMENT DES BONS"
                    Frame1.ForeColor = &HFF0000
                    Frame1.Left = 360
                    CommandButton1.Enabled = True
                    CommandButton2.Enabled = True
                    CommandButton3.Enabled = True
                    CommandButton4.Enabled = False
                    CommandButton5.Enabled = False
                    CommandButton6.Enabled = False
                    CommandButton7.Enabled = False
            Else
                    Label1.Caption = "VOUS ALLEZ ÉTABLIR UN BON DE COMMANDE"
                    Label1.Left = 260
                    Frame1.Caption = "ETABLISSEMENT DES BONS"
                    Frame1.ForeColor = &HFF0000
                    Frame1.Left = 360
                    CommandButton1.Enabled = True
                    CommandButton2.Enabled = True
                    CommandButton3.Enabled = True
                    CommandButton4.Enabled = False
                    CommandButton5.Enabled = False
                    CommandButton6.Enabled = False
                    CommandButton7.Enabled = False
            End If
        Else
                    Label1.Caption = "VOUS ALLEZ GERER VOS PRODUITS"
                    Label1.Left = 260
                    Frame1.ForeColor = &HFF&
                    Frame1.Left = 360
                    Frame1.Caption = "GESTION COMMERCIALE"
                    CommandButton1.Enabled = False
                    CommandButton2.Enabled = False
                    CommandButton3.Enabled = False
                    CommandButton4.Enabled = True
                    CommandButton5.Enabled = True
                    CommandButton6.Enabled = True
                    CommandButton7.Enabled = True
        End If
    End Sub

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour,
    le but de la manoeuvre consiste à récuperer le nombre de caractère de la chaine et d'enlever les 5 derniers.
    Pour cela il faut utiliser l'instruction "LEN" et ensuite l'instruction "MID" comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If ActiveSheet.PageSetup.CenterHeader <> "" Then
    nbrcarac = Len(ThisWorkbook.Name) - 5
    Me.Label1.Caption = "ÉTABLISSEMENT DU " & Mid(ThisWorkbook.Name, 1, nbrcarac)
    'ETC.......
    regarde ce que dit l'aide F1 sur ces instructions

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Par défaut
    Rebonjour et merci

    J'ai bien tout compris. Je connaissais les fonctions Len, Mid, right, Left mais je n'ai pas su lier les deux (Len et Mid) en faisant entrer en jeu une variable. Basique pourtant !

    Je vais maintenant aborder, bien sûr dans une autre discussion, l'écriture pour un clignotement du Label.Caption. Là aussi, il me faut de l'aide

    Merci encore,
    Très cordialement,
    Maurice

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 02h08
  2. Saisie et affichage d'une chaîne de caractères
    Par sali dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/03/2004, 19h01
  3. [Debutant(e)] Analyse d'une chaîne de caractères
    Par maire106 dans le forum Langage
    Réponses: 6
    Dernier message: 22/03/2004, 16h04
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 12h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 02h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo