Modification macro selon l'utilisateur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

matthieu2701

XLDnaute Occasionnel
Bonjour,

Dans mon entreprise nous sommes deux sites séparés. Nous avons donc deux réseaux différents.

Le problème c'est que nous utilisons tous un même fichier excel avec des macros.

Par exemple, MARTIN est sur le site X et HENRI sur le site Y.

Est-il possible, dans la macro, d'indiquer que si le fichier est ouvert par MARTIN la macro prends en compte le chemin du site X (Q😛DD/Dossiers/En cours) et que si le fichier est ouvert par HENRI le chemin Y soit pris en compte (V😀ossiers/En cours) ?

En espérant avoir été assez clair.

Merci par avance pour vos réponses.
 
Re : Modification macro selon l'utilisateur

le chemin étant défini en "dur" (Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\Test\") il n'y a pas de raisons à ce que MkDir crée un répertoire ailleurs !
Sauf si dans l'entreprise il y a des "verrous" qui ne permettent pas d'écrire ailleurs que l'endroit prévu !
A voir , et là, ???? !
 
Re : Modification macro selon l'utilisateur

passe-t-on bien dans l'affectation des chemins ? : le nom de l'utilisateur est il conforme à celui du SELECT (MARTIN...)
à vérifier par un msgbox
sinon, désolé, ça dépasse mes maigres connaissances
 
Re : Modification macro selon l'utilisateur

Par contre, j'ai créé tous les nom dans une feuille excel. Dans ma macro j'ai noté les deux sites. Un site X et un site Y.

J'ai écris
With sheets("NNI")
X = .Range("B3:B60")
Y = .Range("E3:E30")
End With

Par contre, cela me surligne en jaune le
Case Marignane
chemin = "Q:\AAGP2\...

Qu'est ce qui ne va pas ?
 
Re : Modification macro selon l'utilisateur

Oui cela récupère le nom d'utilisateur et certains utilisateurs sont sur le site de Marseille et certains sur le site de Nîmes.

Le réseau est différent selon le site c'est donc pour cela qu'il me faut deux chemins different.

Dans ma feuille excel, j'ai listé les personnes faisant partie du site de Marseille et celles du site de Nîmes.

Si le nom d'utilisateur est une personne situe sur Nîmes alors créé le dossier sur le chemin du réseau de Nîmes et si c'est une personne de Marseille, créé le dossier sur le réseau de Marseille.

Est ce plus clair ?
 
Dernière édition:
Re : Modification macro selon l'utilisateur

non car je ne vois toujours pas le lien entre les deux bouts de codes donc pas facile de trouver d'où vient l'erreur.

Par ailleurs (à moins qu'il y ait des utilisateurs communs aux deux sites)

case "nom1","nom2","nom3","nom4","nom5","nom6" ...
chemin = chemin1

case "nom11","nom21","nom31","nom41","nom51" ...
chemin = chemin2

répondait au besoin
 
Re : Modification macro selon l'utilisateur

non car je ne vois toujours pas le lien entre les deux bouts de codes donc pas facile de trouver d'où vient l'erreur.

Par ailleurs (à moins qu'il y ait des utilisateurs communs aux deux sites)
Code:
case "nom1","nom2","nom3","nom4","nom5","nom6" ...
chemin = chemin1

case "nom11","nom21","nom31","nom41","nom51" ...
chemin = chemin2
répondait au besoin
 
Re : Modification macro selon l'utilisateur

On est 10 a utiliser ce fichier sur Marseille et 5 sur Nîmes.

Voici le code complet
Sub Dossier()

With Sheets("NNI")
Marignane = .Range("B3:B60")
Nimes = .Range("E3:E30")
End With

utilisateur = Environ("username")
Select Case utilisateur

Case Marignane
chemin = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\" & Feuil3.Cells(2, 2).Text & " " & Feuil3.Cells(6, 7).Text

Case Nimes
chemin = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\Test\" & Feuil3.Cells(2, 2).Text & " " & Feuil3.Cells(6, 7).Text

End Select

With Sheets("Echéancier")
Nom = .Range("B2")
PCE = .Range("G6")
End With

If Nom = "" Or PCE = "" Then
MsgBox "Veuillez compléter les champs Nom/Prénom et PCE pour pouvoir générer le dossier du client.", vbOKOnly + vbCritical, "Attention"
Exit Sub
End If

On Error GoTo fin

MkDir chemin

ActiveSheet.Shapes("MonBouton1").Visible = True
Application.OnTime Now + TimeValue("00:00:02"), "EffacerMessage1"
Exit Sub

fin:
MsgBox "Le dossier numérique " & Nom & " " & PCE & " a déjà été créé. Impossible de le créer une seconde fois.", vbCritical, "Attention"

End Sub
Sub EffacerMessage1()
ActiveSheet.Shapes("MonBouton1").Visible = False
End Sub
 
Re : Modification macro selon l'utilisateur

le début de code ne veux plus rien dire:

on affecte un tableau de valeur (noms d'utilisateurs) à une variable (tableau)
Code:
With Sheets("NNI")
Marignane = .Range("B3:B60")
Nimes = .Range("E3:E30")
End With

On récupére le nom réel de l'utilisateur
Code:
utilisateur = Environ("username")

On va tester le nom d 'utilisateur (réel!)
Code:
Select Case utilisateur

On teste si l'utilisateur vaut Marignane
Code:
Case Marignane
chemin = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\" & Feuil3.Cells(2, 2).Text & " " & Feuil3.Cells(6, 7).Text

la variable 'utilisateur' n'aura jamais la valeur "Marignane" puisque 'utilisateur' contient le nom réel de l'utilisateur !
De plus Marignane étant un tableau le test ne peux se faire, d'où l'erreur.

Plusieurs solutions:

1) on supprime la partie With Sheets("NNI") ... End With et on écrit en 'dur' le nom de chaque utilisateur dans le code:
Code:
case "nom1","nom2","nom3","nom4","nom5","nom6" ...
chemin = chemin1

case "nom11","nom21","nom31","nom41","nom51" ...
chemin = chemin2

2) on modifie le code pour qu'il aille vérifier dans les listes de noms à quel site appartient l'utilisateur (la meilleurs solution si les noms risquent de changer) et on garde:
Code:
Case Marignane
chemin = "Q:\AAG....

Case Nimes
chemin = "Q:\AAG....
mais là, je ne suis pas sur le coup
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Réponses
0
Affichages
304
Réponses
5
Affichages
294
Réponses
25
Affichages
1 K
Retour