Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2011, 16h13   #1
Membre du Club
 
Avatar de Djromé
 
Inscription : juillet 2009
Messages : 161
Détails du profil
Informations personnelles :
Localisation : Luxembourg

Informations forums :
Inscription : juillet 2009
Messages : 161
Points : 58
Points : 58
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 :
1
2
varInitial2 = Application.UserName
varInitial = Left(" + CStr(varInitial2) + ") & Mid(" + CStr(varInitial2) + ", Find(" ", " + CStr(varInitial2) + ") + 1, 1)
D'avance merci
__________________
Merci les kracks,

Apprendre à un imbécile, c'est comme soigner un mort
"alors avec moi, bon courage!"
(дурака учить, что мертвого лечить, c'est plus beau en Russe!)
Djromé est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/09/2011, 16h34   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
Une proposition pour étude
Code :
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 :
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 :
For i = LBound(Tb) To UBound(Tb)
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 22
Vieux 13/09/2011, 11h35   #3
Membre du Club
 
Avatar de Djromé
 
Inscription : juillet 2009
Messages : 161
Détails du profil
Informations personnelles :
Localisation : Luxembourg

Informations forums :
Inscription : juillet 2009
Messages : 161
Points : 58
Points : 58
Salut Mercatog,

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

Code :
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
__________________
Merci les kracks,

Apprendre à un imbécile, c'est comme soigner un mort
"alors avec moi, bon courage!"
(дурака учить, что мертвого лечить, c'est plus beau en Russe!)
Djromé est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 13/09/2011, 12h13   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
Suite à une coquille stupide dans mon code initial que j'avais corrigé, essaies simplement comme ceci
Code :
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
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h00.


 
 
 
 
Partenaires

Hébergement Web