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 :

Variable left & mid [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Djromé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 172
    Par défaut Variable left & mid
    Salut les Kracks,

    Je souhaiterai récupérer les initiales de l'uitlisateur de l'application dans ma variable varInitial mais je reste confronté au problème entre une formule excel et VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    varInitial2 = Application.UserName
    varInitial = Left(" + CStr(varInitial2) + ") & Mid(" + CStr(varInitial2) + ", Find(" ", " + CStr(varInitial2) + ") + 1, 1)
    D'avance merci

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Une proposition pour étude
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function USERN() As String
    Dim Tb
    Dim i As Byte
    Dim Res As String
     
    Tb = Split(Environ("Username"))
    For i = LBound(Tb) To UBound(Tb)
        Res = Res & Left(Tb(i), 1)
    Next i
    USERN = Res
    End Function
    A tester par (par exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Test()
    Dim VarIni As String
     
    VarIni = USERN
    MsgBox VarIni
    End Sub

    EDIT:
    Oh là là, le code avait une coquille lamentable

    Il fallait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = LBound(Tb) To UBound(Tb)

  3. #3
    Membre confirmé Avatar de Djromé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 172
    Par défaut
    Salut Mercatog,

    Merci pour ta proposition, je l'ai un peu modifier pour avoir les initiales du prénom et nom:

    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
    Option Explicit
     
    Function USERN() As String
    Dim Tb
    Dim i As Byte
    Dim Res, strPrenom, strNom As String
     
    Tb = Split(Application.UserName)
     
    For i = LBound(Tb) To LBound(Tb)
        strPrenom = Left(Tb(i), 1) 
    Next i
     
    For i = UBound(Tb) To UBound(Tb)
        strNom = Left(Tb(i), 1) 
    Next i
     
    Res = strPrenom & strNom
    USERN = Res
     
    End Function
     
    Sub Test()
    Dim VarIni As String
    VarIni = USERN
    MsgBox VarIni
    End Sub
    Bonne journée

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Suite à une coquille stupide dans mon code initial que j'avais corrigé, essaies simplement comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function USERN() As String
    Dim Tb
    Dim i As Byte
    Dim Res As String
     
    Tb = Split(Application.UserName)
    For i = LBound(Tb) To UBound(Tb)
        Res = Res & Left(Tb(i), 1)
    Next i
    USERN = Res
    End Function

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

Discussions similaires

  1. Explication des fonctions Left() et Mid() et le Chr(13)
    Par Adilleroy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2010, 16h10
  2. fonction left ou mid en SQL
    Par castorameur dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/09/2009, 14h37
  3. Bibliothèque manquante pour fonctions Left, right, mid
    Par wrm8787 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/04/2009, 20h21
  4. [XHTML] Problème de variable &
    Par navis84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/08/2008, 09h55
  5. DateSerial, Left, Mid sur nt4
    Par nicerico dans le forum ASP
    Réponses: 1
    Dernier message: 06/10/2005, 16h53

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