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

XL 2013 vba remplacer username par un un autre texte

Neofalken

XLDnaute Junior
Bonjour à tous

J'ai un petit programme VBA permettant d'enregistrer diverses données dans une feuille excel.
Parmi ces données le nom de l'utilisateur se remplit automatiquement.
Après avoir changé de système le nom de l'utilsateur n'est plus parlant du tout, donc je voudrais le remplacer par son nom.
exemple : Dans mon module j'ai :

Cells(Cell_Row, 7).Select
Selection.Value = Nickname
ActiveCell.HorizontalAlignment = xlCenter

Nickname = UCase(Environ("username"))

If Nickname = "TI754000" Then
Nickname = "TOTO"


End If

Mais cela ne fonctionne pas, la case est remplie par "TI754000" et n'est pas change en "TOTO"

Qq'un peut me dire où est mon erreur ?

Merci d'avance
 

Papou-net

XLDnaute Barbatruc
Re : vba remplacer username par un un autre texte

Bonjour Neofalken,

Une simple erreur dans l'ordre des lignes?

Essaie:

Code:
Cells(Cell_Row, 7).Select
    ActiveCell.HorizontalAlignment = xlCenter
    Nickname = UCase(Environ("username"))
    If Nickname = "TI754000" Then Nickname = "TOTO"
Selection.Value = Nickname
Cordialement.
 

Pierrot93

XLDnaute Barbatruc
Re : vba remplacer username par un un autre texte

Bonjour,

Code:
Selection.Value = Nickname

bizare ton code, la cellule est remplit avant le test... A voir comment ta varaible est initialisée...


bonne journée
@+

Edition : bonjour Papou, aarf un peu en retard moi...
 

Neofalken

XLDnaute Junior
Merci bcp.
En effet l'ordre des lignes posait probleme.
J'ai une autre question, ce remplacement de caractère concerne plusieurs feuilles de calcul.
Comment dois je faire mon programme pour que quelque soit la feuille où un ""TIxxxxx"" est renseigné il soit remplacé par le nom correspondant, sachant que j'ai bcp de TI...
TI754000 pour toto
TI754001 pour titi
TI754002 pour tata etc.
Parce que sinon je suis tenu de mettre ces lignes sur chaque programme de chaque feuille...
Dois je mettre mes lignes de programme dans "workbook" ?
 

Papou-net

XLDnaute Barbatruc
Re : vba remplacer username par un un autre texte

RE:

Pour que cette procédure soit commune à plusieurs feuilles, il te faut la déplacer dans un module de code standard. Puis il faut référencer la feuille sélectionnée.

Aussi, je te propose:

Code:
Sub ChangeNom()
With ActiveSheet
  .Cells(Cell_Row, 7).Select
    ActiveCell.HorizontalAlignment = xlCenter
    Nickname = UCase(Environ("username"))
    If Nickname = "TI754000" Then Nickname = "TOTO"
  Selection.Value = Nickname
End With
End Sub
Il ne reste plus qu'à savoir comment tu comptes appeler cette macro mais, sans fichier en PJ, je ne puis le deviner.

Quant au nombre de TI..., s'il y en a beaucoup, le mieux serait de les traiter dans un tableau. Mais, là encore, sans fichier...

A +

Cordialement.
 

Discussions similaires

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