A voir également:
- Macro Excel et réseau
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
- Convertir chiffre en lettre excel sans macro ✓ - Forum Excel
4 réponses
tompols
Messages postés
1219
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
460
29 avril 2005 à 14:17
29 avril 2005 à 14:17
Salut,
En rajoutant une condition du type
If nom_ordi_utilisé = nom_ordi then Workbooks.Open Filename:="C:\Mes Documents\Répertoire\Monfichier.xls"
Else Workbooks.Open Filename:="C:\Mes Documents\Répertoire\Monfichier.xls"
Non ???
En rajoutant une condition du type
If nom_ordi_utilisé = nom_ordi then Workbooks.Open Filename:="C:\Mes Documents\Répertoire\Monfichier.xls"
Else Workbooks.Open Filename:="C:\Mes Documents\Répertoire\Monfichier.xls"
Non ???
Armojax
Messages postés
1855
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
22 novembre 2022
1 517
29 avril 2005 à 14:20
29 avril 2005 à 14:20
Bonjour Warbler,
Peux-tu regarder si le UserName diffère d'un poste du réseau à l'autre, ce qui est probablement le cas (en faisant : MsgBox Application.UserName, par exemple).
Auquel cas, tu peux paramétrer ta commande :
If Application.UserName = "Toto" Then etc.
Peux-tu regarder si le UserName diffère d'un poste du réseau à l'autre, ce qui est probablement le cas (en faisant : MsgBox Application.UserName, par exemple).
Auquel cas, tu peux paramétrer ta commande :
If Application.UserName = "Toto" Then etc.
merci pour ta réponse.
ça marche (après avoir différencié les username).
Mais y-a-t-il une commande VBA pour extraire le nom de l'ordi ?
ça serait plus pratique, car il y a plusieurs utilisateurs par postes.
@+ Warbler
ça marche (après avoir différencié les username).
Mais y-a-t-il une commande VBA pour extraire le nom de l'ordi ?
ça serait plus pratique, car il y a plusieurs utilisateurs par postes.
@+ Warbler
Armojax
Messages postés
1855
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
22 novembre 2022
1 517
29 avril 2005 à 16:50
29 avril 2005 à 16:50
L'accès au nom de l'ordinateur n'existe pas en standard dans VBA, à ma connaissance.
On a un moyen avec l'API de Windows. Je ne l'ai jamais fait. Il faut définir des modules de classe et accéder aux dll de Windows.
Je buche en ce moment la question, mais pour le moment je n'ai pas la solution...
Si ça ne prend pas trop de temps et si j'y arrive, je repasse par là...
Si quelqu'un d'autre sait le faire, il est le bienvenu...
On a un moyen avec l'API de Windows. Je ne l'ai jamais fait. Il faut définir des modules de classe et accéder aux dll de Windows.
Je buche en ce moment la question, mais pour le moment je n'ai pas la solution...
Si ça ne prend pas trop de temps et si j'y arrive, je repasse par là...
Si quelqu'un d'autre sait le faire, il est le bienvenu...
Armojax
Messages postés
1855
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
22 novembre 2022
1 517
29 avril 2005 à 17:13
29 avril 2005 à 17:13
Trouvé, grâce à l'excellent bouquin de Stephen Bullen et John Green. Merci à eux.
Chez moi ça marche, en tout cas.
Voici la marche à suivre :
1) Créer un module de Classe : Insertion / Module de Classe
2) Lui donner un nom : Sélectionner le module de Classe Classe1 qui vient d'être créé, afficher la fenêtre Propriétés et modifier le champ (name). Je l'ai appelé CSysInfo.
3) Placer dans ce module le code suivant :
4) On peut ensuite utiliser la nouvelle fonctionnalité dans une macro "normale", de la façon suivante :
Essaie et dis-moi si ça marche.
Ajx.
Chez moi ça marche, en tout cas.
Voici la marche à suivre :
1) Créer un module de Classe : Insertion / Module de Classe
2) Lui donner un nom : Sélectionner le module de Classe Classe1 qui vient d'être créé, afficher la fenêtre Propriétés et modifier le champ (name). Je l'ai appelé CSysInfo.
3) Placer dans ce module le code suivant :
Private Declare Function GetComputerName Lib "kernel32" _ Alias "GetComputerNameA" ( _ ByVal lbbuffer As String, _ nsize As Long) As Long Public Property Get ComputerName() As String Dim stBuff As String * 255 Dim lAPIResult As Long Dim lBuffLen As Long lBuffLen = 255 lAPIResult = GetComputerName(stBuff, lBuffLen) If lBuffLen > 0 Then ComputerName = Left(stBuff, lBuffLen) End Property
4) On peut ensuite utiliser la nouvelle fonctionnalité dans une macro "normale", de la façon suivante :
Dim obSysInfo As New CSysInfo NomOrdi = obSysInfo.ComputerName
Essaie et dis-moi si ça marche.
Ajx.
29 avril 2005 à 16:01
Mais quelle est la commande VBA pour extraire le nom de l'ordi ?
Y-at-il une commande du genre "Application.username" qui donne le nom de l'utilisateur courant ?
@+ warbler