Boucle sur un fichier et boucle sur l'autre fichier

Bonjour à tous,

Voici le projet : j'ai un planning (cf photo 1), où je cherche à boucler sur chaque ligne puis par colonne pour savoir si l'agent est en "BO" (BO = jour travaillé).
SI il est en "BO" alors le met sur le planning vierge. (là ou je n'arrive pas).

Je vous montre le code + photo si besoin j'anonymiserais le fichier.

image

Lescellules sont fusionnés pour les colonnes c'est pour cela que j'ai mis un step 2

Private Sub SectoAuto()
Dim i As Integer
Dim m As Integer
Dim k As Integer
Dim c As Integer
Dim sem As String
Dim cheminIde As String
Dim cheminAs As String
Dim wkIde As Workbook
Dim wka As Workbook
Dim ligIde As Double
Dim colIde As Double
Dim semide
Dim lignIde

' Numero de Semaine choisi
sem = "S" & tboSemaine.Caption

'classeur A qui contient la macro
Set wka = ThisWorkbook

'chemin du planning IDE
cheminIde = tboCheminIDE.Value

'chemin du planning AS
cheminAs = tboCheminAs.Value

If cheminIde <> "" Then

    'ouvre le planning IDE
    Set wkIde = Workbooks.Open(cheminIde, True)

    'Recupere le numéroe de semaine pour trouver le numéro de colonne
    Set semide = wkIde.Sheets(1).Rows("5").Find(sem, lookat:=xlWhole)

    colIde = semide.Column

    'Combobox avec nom du dernier agent pour recupérer le numéro de ligne
    Set lignIde = wkIde.Sheets(1).Range("A2:A150").Find(cboIde.Value, lookat:=xlWhole)

    ligIde = lignIde.Row

    With wkIde.Sheets(1)

        k = 4
        For i = 6 To ligIde 'De la ligne 6 à l'agent (qui donne le numero de ligne)

            m = 2
            For c = colIde To colIde + 14 Step 2 'Numero de colonne pour recuperer le debut de la semaine en fonction de la semaine voulu, Step 2 car cellules fusionnées

            If .Cells(i, c).Value = "BO" Then 'Si "BO" alors met le nom dans la colonne du fichier wka

            wka.Sheets("SECTOAUTO").Cells(k, m).Value = .Cells(i, 1).Value
            m = m + 1
            End If

            Next c

        k = k + 1
        Next i

    End With

End If

End Sub

Photo du fichier de transfert :

image

Merci d'avance pour l'aide apportée !

Hello,

SI il est en "BO" alors le met sur le planning vierge. (là ou je n'arrive pas)

Et du coup c'est quoi l'erreur ou c'est quoi qui ne fonctionne pas ?

Je ne vois rien de choquant dans le code comme ça.

Bonsoir,

J'arrive à récupérer les noms et les mettre dans l'autre tableau mais ça fait des sauts de lignes.

Je vais anonymiser le fichier ça sera plus simple et sans userform avec paramètres prédéfinis.

Il faut les mettre dans le même dossier

Merci pour l'aide que vous m'apporterez.

9test1.xlsm (31.89 Ko)
8planningide.xlsx (41.29 Ko)

Bon finalement j'ai fini par trouver

    With wkIde.Sheets(1)

        k = 4
        For i = 6 To ligIde 'De la ligne 6 à lagent (qui donne le numero de ligne) = ICI "FFF GGG"

        If WorksheetFunction.CountIf(.Range(.Cells(i, colIde), .Cells(i, colIde + 14)), "BO") > 1 Then

            m = 2
            For c = colIde To colIde + 13 Step 2

                If .Cells(i, c).Value = "BO" Then

                    wka.Sheets("SECTOAUTO").Cells(k, m).Value = .Cells(i, 1).Value

                End If
             m = m + 1
            Next c

            k = k + 1
        End If
        Next i

    End With

End If

J'ai demandé a rechercher la ligne, si il y a un "BO" alors on boucle sur les colonnes, et quand il y a un "BO" alors on copie la valeur de la colonne 1.
Et surtout ne pas oublier de rajouter un pas de 1 pour les colonnes de l'autre fichier.

Merci quand même.

Rechercher des sujets similaires à "boucle fichier"