Aide pour simplifier Macro

matthieu2701

XLDnaute Occasionnel
Bonjour,

J'ai une dizaines de macros (pour ouvoir vous fournir le fichier j'en ai laissé qu'une) pour lesquelles j'ai souvent besoin des mêmes informations. Dans ce cas, c'est le nom des personnes travaillant sur cet outils.

A un moment, les macros doivent faire appel au nom de la personne qui est en traitement afin de créer le dossier du client sur son serveur. Tout fonctionne mais cela devient fastidieux quand je dois ajouter une personne. En effet, faut que je le fasse dans chaque macro.

Je viens donc vers vous car je n'arrive pas à trouver la solution. Je souhaiterais avoir la liste des personnes (j'ai 3 listes différentes car nous avons plusierus sites et donc des serveurs différents) et que dans ma macro je fasse appel à cette liste au lieu de lister tous les noms dans chaque macro.

De cette façon, si je souhaite rajouter une personne au traitement, je n'aurais pas besoin de le faire dans chaque macro.

J'espère avoir été assez claire.

Merci par avance.
 

Pièces jointes

  • Gaz-Perd v4 Test.xlsm
    73.1 KB · Affichages: 38

eriiic

XLDnaute Barbatruc
Re : Aide pour simplifier Macro

Bonjour,

Sympa de nous laisser chercher parmi 8 modules, ça occupe...
Crée-toi une table pl_groupe avec 2 colonnes : utilisateur et groupe et :
Code:
    utilisateur = Environ("username")
    For lig = 1 To [pl_groupe].Rows.Count
        If [pl_groupe].Cells(lig, 1) = utilisateur Then
            groupe = [pl_groupe].Cells(lig, 2)
            Exit For
        End If
    Next lig
    Select Case groupe
    Case 1
        Racine = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case 2
        Racine = "H:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case 3
        Racine = "G:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case Else
        MsgBox "inconnu"
    End Select
A moins que le fichier soit lui-même sur Q:, H: ou G: selon l'utilisateur auquel cas tu peux récupérer le lecteur dans ThisWorkbook.Path
eric
 

matthieu2701

XLDnaute Occasionnel
Re : Aide pour simplifier Macro

Bonjour,

Sympa de nous laisser chercher parmi 8 modules, ça occupe...
Crée-toi une table pl_groupe avec 2 colonnes : utilisateur et groupe et :
Code:
    utilisateur = Environ("username")
    For lig = 1 To [pl_groupe].Rows.Count
        If [pl_groupe].Cells(lig, 1) = utilisateur Then
            groupe = [pl_groupe].Cells(lig, 2)
            Exit For
        End If
    Next lig
    Select Case groupe
    Case 1
        Racine = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case 2
        Racine = "H:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case 3
        Racine = "G:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case Else
        MsgBox "inconnu"
    End Select
A moins que le fichier soit lui-même sur Q:, H: ou G: selon l'utilisateur auquel cas tu peux récupérer le lecteur dans ThisWorkbook.Path
eric

Merci pour ta réponse. Non le fichier n'est pas sur Q:, H: ou G:.

Je vais tester.

Cdt
 
Dernière édition:

matthieu2701

XLDnaute Occasionnel
Re : Aide pour simplifier Macro

Bonjour,

Sympa de nous laisser chercher parmi 8 modules, ça occupe...
Crée-toi une table pl_groupe avec 2 colonnes : utilisateur et groupe et :
Code:
    utilisateur = Environ("username")
    For lig = 1 To [pl_groupe].Rows.Count
        If [pl_groupe].Cells(lig, 1) = utilisateur Then
            groupe = [pl_groupe].Cells(lig, 2)
            Exit For
        End If
    Next lig
    Select Case groupe
    Case 1
        Racine = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case 2
        Racine = "H:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case 3
        Racine = "G:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\"
    Case Else
        MsgBox "inconnu"
    End Select
A moins que le fichier soit lui-même sur Q:, H: ou G: selon l'utilisateur auquel cas tu peux récupérer le lecteur dans ThisWorkbook.Path
eric

Merci, cela fonctionne.

Aussi, j'ai plusieurs chemin d'accès. J'aimerais les renseigner dans une feuille excel et pointer vers le répertoire correspond selon le groupe. J'ai testé mais je n'y parviens pas.

Merci par avance.
 

eriiic

XLDnaute Barbatruc
Re : Aide pour simplifier Macro

Bonjour,

et bien tu fais sur le même modèle que :
For lig = 1 To [pl_groupe].Rows.Count
If [pl_groupe].Cells(lig, 1) = utilisateur Then
groupe = [pl_groupe].Cells(lig, 2)
Exit For
End If
Next lig
avec un autre nom et n° groupe et adresse en colonnes
eric
 

Discussions similaires

Réponses
12
Affichages
248

Membres actuellement en ligne

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS