Corriger la macro pour N SUIVI (PLEASE I NEED !!)

Bonjour Forum,

Y A-T-IL QUELQU'UN ICI SVP QUI PEUT ME SAUVER LA VIE ?????

Je sollicite votre aide SVP pour corriger la macro.

(Lien du dossier : https://drive.google.com/drive/folders/1LSfymciXZ81cMRyE1LsJSbzuGy4As47X?usp=sharing )

(Fichier PDF procédure étape par étape : explique bien toute la procédure de la macro)

Il y a 2 macros existantes interdépendantes (j'ai déjà réalisé la 1ère sur le fichier Bofala V1, il faudra juste régler la 2ème).

Pour exécuter cette macro Macro_Indicateur, il faudra ouvrir les fichiers suivants :

  • Suivi avancement fiabilisation + New indicateur fiab 20191008 ((présent dans le sous-dossier 08_10_2019)
  • exportPA_20191008 (présent dans le sous-dossier 08_10_2019 des fichiers excel retravaillés)
  • Macro_Indicateur_23072019 V3.1 (présent sur le dossier Macros)

Il faudra exécutez la macro Indicateur sur le fichier Suivi avancement fiabilisation + New indicateur fiab 20191008 :

Suivi 11 / Date à saisir (08/10/2019).

Problème détecté : la macro ne donne rien (regardez le fichier Procédure étape par étape sur le lien drive)

Toute la procédure se fait déjà par la macro jusqu'au suivi 10 (17/09), mais elle se bloque à ce suivi. L'objectif est de la faire fonctionner jusqu'à un suivi illimité (N).

MERCI D'AVANCE !

Bonjour,

on ne peut pas ouvrir tes fichiers excel dans le drive, l'appli excel n'y est pas avec les autres pdf...

mieux vaut les joindre ici directement.

a+

fronck

Le dossier est trop volumineux, je ne peux pas le mettre ici. Essaies maintenant s'il-te-plaît :

https://drive.google.com/drive/folders/1LSfymciXZ81cMRyE1LsJSbzuGy4As47X?usp=sharing

Si ça ne marche pas toujours, peux-tu me communiquer une adresse mail ?

Merci d'avance !

Bonjour bofala, le forum,

j'ai modfié ta macro pour l'éxécuter jusqu'au bout.

Il manque à enregistrer des calculs et données dans ton 'suivi 11'.

Ce passage ne permet pas de remplir les fichiers en décalant de plusieurs colonnes pour y inscrire les nouveaux chiffres ou formules.

Workbooks(unFichier).Activate
            Call RemplirFichierIndicateur.addValue(numberDSCC, numberSuivi, dateOfDir, unFichier, fichier_source, inputDate, dateOfFile, dateExtraction, numberDOMTOMDTC)

les données entre parenthéses sont bien valorisées, mais le Call RemplirFichierIndicateur n'est pas défini et détaillé ici. Désolé

Pour le forum, voici la macro en totalité :

Private Sub openFile()
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Dim repertoire As String
    Dim wbook As Workbook
    Dim inputDate As String
    Dim bookName As String
    Dim numberDSCC As String, numberDOMTOMDTC As String, numberSuivi As String, day As String, month As String, year As String, dateOfDir As String, dateOfFile As String
    Dim test_numberSuivi As Boolean
    Dim dateExtraction As String
    Dim unFichier As Variant
    Dim fichier_source As String
    Dim path1 As String, test As Boolean
    Dim oFSO As Scripting.FileSystemObject
    Dim oFl As Scripting.File
    'Instanciation du FSO
    Set oFSO = New Scripting.FileSystemObject
    fichier_source = ActiveWorkbook.Name 'le nom est récupéré lorsque l'utilisateur lance la macro depuis le fichier indicateur

    'Vérifier que la macro est lancée à partir du fichier indicateur
    If Not fichier_source Like "Suivi avancement*" Then
        MsgBox "Veuillez lancer la macro depuis le fichier indicateur"
        Exit Sub
    End If

    Dim file_macro As String, file_exportPA As String, WB_count As String, X As Integer

    WB_count = Workbooks.Count

    For X = 1 To WB_count ' permet de récupérer le nom du fichier contenant le code VBA
        If Workbooks(X).Name Like "Macro_*" Then
            file_macro = Workbooks(X).Name
            Exit For
        End If
    Next X
    For X = 1 To WB_count ' permet de récupérer le nom du fichier exportPA
        If Workbooks(X).Name Like "exportPA*" Then
            file_exportPA = Workbooks(X).Name
            Exit For
        End If
    Next X
    'Vérifier que le fichier exportPA a été ouvert
    If file_exportPA = "" Then
        MsgBox "Veuillez ouvrir le fichier exportPA"
        Exit Sub
    End If

    test = False
    path1 = Workbooks(file_macro).Sheets(1).Cells(10, 1) 'Récupère le chemin ajouté par l'utilisateur
    If path1 = "" Then
        MsgBox "Veuillez indiquer le dossier contenant les fichiers Gestion des activités"
        Exit Sub
    End If

dateI:
    inputDate = InputBox("Choix du dossier pour remplir le fichier indicateur. La date doit être SEULEMENT au format JJ_MM_AAAA. Saisir la date : ")
    If StrPtr(inputDate) = 0 Then  'Si l'utilisateur clique sur le bouton annulé, annule la procédure
        Exit Sub
    End If

    'Récupère la date ajoutée par l'utilisateur et récupère la date, le mois et l'année
    'pour les fichiers de François car les dates sont au format AAAAMMJJ. Les fichiers concernés sont : DSCC_NbAgentsHorsPIC, exportPA et IndicateurV2
    day = Left(inputDate, 2)
    month = Mid(inputDate, 4, 2)
    year = Right(inputDate, 4)
    dateOfFile = year & month & day

    'Condition permettant de vérifier que les fichiers sont dans le dossier
    If Dir(path1 & "\" & "\IndicateurV2_" & dateOfFile & ".xlsx") <> "" Then
        Set other = Workbooks.Open(path1 & "\" & "\IndicateurV2_" & dateOfFile & ".xlsx", , False)  'Permet d'ouvrir le fichier indicateur en mode lecture/écriture
    Else
        MsgBox "Le fichier IndicateurV2_" & dateOfFile & " est introuvable"
        Exit Sub
    End If
    If Dir(path1 & "\" & "\DSCC_NbAgentsHorsPIC_" & dateOfFile & ".xlsx") <> "" Then
        Set other = Workbooks.Open(path1 & "\" & "\DSCC_NbAgentsHorsPIC_" & dateOfFile & ".xlsx", , False)  'Permet d'ouvrir le fichier indicateur en mode lecture/écriture
    Else
        MsgBox "Le fichier DSCC_NbAgentsHorsPIC_" & dateOfFile & " est introuvable"
        Exit Sub
    End If

    repertoire = path1 & "\" & "\"

    unFichier = Dir(repertoire & "Gestion des activités*.xl*")
'Si l'utilisateur clique sur le bouton annulé, annule la procédure
    If StrPtr(inputDate) = 0 Then
        Exit Sub
'Condition si l'utilisateur se trompe de date donc le dossier ne peut pas être trouvé
'ou si dans le dossier il n'y a pas les fichiers alors cela réaffiche la fenêtre
    ElseIf unFichier = "" Then
        MsgBox "Dossier non trouvé, date incorrecte ou aucun fichier dans le dossier"
        GoTo dateI
    End If

'&&&&&&&&&&&&&&&&&&&&&&&&&

'Boucle qui effectue les traitements sur tous les fichiers du dossier
    While unFichier <> ""
'Ouvre en lecture/écriture les fichiers à traiter du dossier
        Set wbook = Workbooks.Open(repertoire & unFichier, , False)
'récupère le nom du fichier
        bookName = wbook.Name
'Ces conditions sont nécessaires lorsque le numéro de suivi est supérieur ou égale à 10
        test_numberSuivi = True
'récupère le numéro de suivi
        numberSuivi = Mid(bookName, 41, 2)
        If numberSuivi Like "* " Then
'enlever l'espace à la fin de la variable numberSuivi
            numberSuivi = Left(numberSuivi, 1)
            test_numberSuivi = False
        End If

'récupère la DSCC
            numberDSCC = Right(bookName, 11)
            numberDSCC = Left(numberDSCC, 6)

        day = Left(inputDate, 2)
        month = Mid(inputDate, 4, 2)
'obtenir la date en version JJ/MM => Variable pour remplir la cellule à côté de la cellule contenant la valeur "Suivi X" (X numéro du suivi) et mettre au format JJ/MM + N° suivi
       dateOfDir = day & "/" & month
'Cette variable permet de pouvoir filtrer dans le fichier IndicateurV2 la date du tableau croisé dynamique
        dateExtraction = day & "/" & month & "/" & year

        Workbooks(unFichier).Activate
            Call RemplirFichierIndicateur.addValue(numberDSCC, numberSuivi, dateOfDir, unFichier, fichier_source, inputDate, dateOfFile, dateExtraction, numberDOMTOMDTC)
        Application.DisplayAlerts = False
        Workbooks(unFichier).Save
        Workbooks(unFichier).Close
        Application.DisplayAlerts = True
        unFichier = Dir
    Wend

    Application.Goto Worksheets(1).Range("C1"), True
    Workbooks("IndicateurV2_" & dateOfFile & ".xlsx").Save
    Workbooks("IndicateurV2_" & dateOfFile & ".xlsx").Close
    Workbooks("DSCC_NbAgentsHorsPIC_" & dateOfFile & ".xlsx").Save
    Workbooks("DSCC_NbAgentsHorsPIC_" & dateOfFile & ".xlsx").Close
    Application.DisplayAlerts = False
    Workbooks(file_macro).Save
    Workbooks("exportPA_" & dateOfFile & ".xlsx").Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    MsgBox "Macro exécutée"
End Sub

Bonsoir Fronck,

Si j'ai bien compris, le problème est dans le passage que tu as cité ?

Dans l'attente d'un coup de main du forum, je te remercie vivement !

Rechercher des sujets similaires à "corriger macro suivi need"