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

Modification code macro selon 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,

J'ai fais un outil qui permet d'automatiser certains tâches que nous faisons au quotidien.

Mon problème est que cet outil va être utiliser par différente personne, et chaque personne possède un numéro d'utilisateur différent.

J'ai deux documents Word, qui seront les modèles, et qui seront rempli en fonction des champs remplis dans l'outils. Ces documents seront placé sur le bureau de chaque utilisateur. Le chemin sera donc :
PHP:
Set WdDoc = WdApp.Documents.Open("C:\Users\bxxxxx\Desktop" & "\" & "Masque.doc") 'indiquer le chemin du fichier modèle

Est-il possible qu'a la première ouverture, il soit demandé le numéro d'utilisateur et qu'il vienne se mettre à la place de bxxxxx et qu'un enregistrement soit fait. Ensuite, je souhaite que, pour cet utilisateur, le numéro ne soit plus demandé car il est déjà renseigné.

Merci par avance pour votre aide.
 
Re : Modification code macro selon utilisateur

Bonjour,

en espérant que cela puisse t'aider à avancer, pour récupérer le chemin du bureau :
Code:
Dim chemin As String
chemin = CreateObject("WScript.Shell").specialFolders("Desktop")
bonne journée
@+
 
Re : Modification code macro selon utilisateur

Merci pour ta réponse rapide.

Le chemin du bureau je l'ai. C'est C:\Users\bxxxxx\Desktop. Je voudrais que pour chaque utilisateur "bxxxxx" soit modifié pour correspondre à son numéro d'utilisateur.
 
Re : Modification code macro selon utilisateur

Re,


bah... c'est bien ce que donnera le code proposé....

Alors j'ai pas compris comment cela fonctionne.

Comment l'intégrer dans mon code ?

PHP:
Sub ecran()

Dim WdApp As Object, WdDoc As Object

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

Chemin = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours" & "\" & Nom & " " & PCE & "\" & Nom

With Sheets("Copie").Range("A1:J170")
    .Copy
End With

If Dir("Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours\" & "\" & Nom & " " & PCE, vbDirectory) = "" Then
MsgBox "Le dossier numérique de " & Nom & " " & PCE & " n'a pas été créé. Veuillez le créer puis recommencer", vbCritical, "Attention"
Exit Sub
End If

'Lancer une instance Word
Set WdApp = CreateObject("Word.Application")
'Rendre Word visible
WdApp.Visible = True
'Ouvrir le document Word
Set WdDoc = WdApp.Documents.Open("C:\Users\bxxxxx\Desktop" & "\" & "Masque.doc") 'indiquer le chemin du fichier modèle
With WdDoc
'Copie de la feuille 4 Excel
    'Sheets(4).Copy
'Coller la feuille dans Word
    For Each i In Sheets("Copie").Shapes
    i.Copy
    WdApp.Selection.Paste
    Next
'Annuler le mode couper/copier
    Application.CutCopyMode = False
    
   .SaveAs Filename:=Chemin
    .Close True
End With

WdApp.Quit
Set WdDoc = Nothing
Set WdApp = Nothing

ActiveSheet.Shapes("MonBouton2").Visible = True
Application.OnTime Now + TimeValue("00:00:02"), "EffacerMessage2"
End Sub
Sub EffacerMessage2()
ActiveSheet.Shapes("MonBouton2").Visible = False
End Sub
 
Re : Modification code macro selon utilisateur

Re,

remplace ceci :
Code:
'Ouvrir le document Word 
Set WdDoc = WdApp.Documents.Open("C:\Users\bxxxxx\Desktop" & "\" & "Masque.doc") 'indiquer le chemin du fichier modèle

par cela :
Code:
Dim chemin As String
chemin = CreateObject("WScript.Shell").specialFolders("Desktop")
Set WdDoc = WdApp.Documents.Open(chemin & "\" & "Masque.doc")
 
Re : Modification code macro selon utilisateur

Avec ce bout de code, ca ira directement chercher le fichier qui est sur le bureau du PC de l'utilisateur ?

Pas besoin de rentrer dans la macro son numéro d'utilisateur ?
 
Dernière édition:
Re : Modification code macro selon utilisateur

Je peux pas tester car je suis pas au bureau.

Je testerais. C'est plus simple que ce que j'avais trouvé.

Par contre, peux tu me traduire le bout de code pour que je comprenne ce qu'il veut dire. 😉

PHP:
CreateObject("WScript.Shell").specialFolders("Desktop")

Merci
 
Dernière édition:
- 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

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