Aide pour simplifier Macro

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,

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

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
 
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:
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.
 
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
 
- 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

Réponses
20
Affichages
1 K
Réponses
21
Affichages
2 K
Réponses
7
Affichages
1 K
H
  • Question Question
Réponses
4
Affichages
1 K
HaggarduNord
H
G
Réponses
9
Affichages
1 K
H
  • Question Question
Réponses
2
Affichages
888
HaggarduNord
H
Retour