Pages

[OL-2010] Repérer des caractères dans le nom du fichier lors du classement d'un courriel sujet

samedi 1 février 2014




Bonjour,

Dans des discussions antérieures, je mentionnais que j'avais une macro qui permet de classer des courriels dans des dossiers et qui avait été écrite par un ancien employé.
Avec votre aide, j'ai réussi à la modifier afin qu'elle affiche les raccourcis dans un dossier et qu'elle affiche le bureau.

Ma question est la suivante:

Pour nommer mon courriel de la façon que notre entreprise le demande, je dois repérer certain caractères. Entre autres, je dois indiquer ce qu'on appelle un no de service suivi du no de projet. Donc, si j'ai choisi le projet P012345 dans service 081, dans le nom du fichier du courriel, je retrouverai 081P012345.

Mon problème est que si la personne veut classer le courriel dans un dossier autre qu'un projet ou service, exemple dans le dossier "Mes documents", je fait en sorte que la macro écrit "MesDocs". Là où est le problème, c'est au numéro de service. Je ne dois rien mettre. mais comme le numéro de service est une valeur numérique à 3 chiffres (entre 000 et 999), comment puis-je l'intercepter ?
Voici la partie du code que j'ai trouvé dans la macro pour les numéros de projets et de services:

Code:


    If BrowseForFolder = "" Then Exit Function
    FolderName = BrowseForFolder & "\"
 
    'Recherche le nom du dossier afin de repérer le no de service et de projet
  ' Modifications pour nouveaux projets 2012-02-29 LP
    If Mid(FolderName, (InStr(FolderName, "\P0") + 1), 3) = "P00" Then
          NUM_PROJ = UCase(Mid(FolderName, (InStr(FolderName, "\P0") + 1), 7))
    ElseIf UCase(Mid(FolderName, (InStr(FolderName, "\B-0") + 1), 4)) = "B-00" Then
              NUM_PROJ = UCase(Mid(FolderName, (InStr(FolderName, "\B-0") + 1), 9))
    ElseIf UCase(Mid(FolderName, (InStr(FolderName, "\P-0") + 1), 4)) = "P-00" Then
          NUM_PROJ = UCase(Mid(FolderName, (InStr(FolderName, "\P-0") + 1), 9))
    ElseIf UCase(Mid(FolderName, (InStr(FolderName, "\GC-0") + 1), 4)) = "GC-0" Then
          NUM_PROJ = UCase(Mid(FolderName, (InStr(FolderName, "\GC-0") + 1), 10))
    ElseIf UCase(Mid(FolderName, (InStr(FolderName, "\RG-0") + 1), 4)) = "RG-0" Then
          NUM_PROJ = UCase(Mid(FolderName, (InStr(FolderName, "\RG-0") + 1), 10))
    Else
          NUM_PROJ = UCase(Mid(FolderName, (InStr(FolderName, "\P0") + 1), 7))
    End If
    NUM_PROJ = InputBox("Veuillez valider le numéro de projet.", "Numéro de projet", NUM_PROJ)
    If NUM_PROJ = "" Then
        Exit Function
    Else
        '**** ajout du no de service - MAJ 2014-01-19 LP
        NUM_PROJ = UCase(Mid(FolderName, (InStr(FolderName, "\P0") + 1) - 4, 3)) & NUM_PROJ
    End If


Je crois qu'à la ligne 25, je dois mettre une condition. Est-ce qu'il existe fonction ou condition qui pourrait comparer la valeur?

Merci




Aucun commentaire:

Enregistrer un commentaire