Création d'une macro "recap"

fumexo

Membre confirmé
9 Mai 2017
16
0
27
Bonjour le forum !
J'espère que vous allez bien :)
J'ai besoin d'un petit coup de pouce, je ne travaille jamais sur mac et par conséquent je galère à travailler avec VBA sur mac mais j'y suis contraint :p
Alors je me permet de vous exposer mon problème !

Je pars du tableau "tab depart" qui est rempli par le temps passé par travailleurs sur chaque activité

Et je dois créer une macro qui en fasse un recap dans un autre onglet avec les informations suivantes:
Nom salarié, semaine, année, Activité et temps passé .

Voilà si jamais quelqu'un a le temps de se pencher dessus ça m'aiderait beaucoup :)

Cordialement,
Fumex Olivier
 

Fichiers joints

  • tab depart.png
    tab depart.png
    70,2 KB · Affichages: 245
Bonjour le forum !
J'espère que vous allez bien :)
J'ai besoin d'un petit coup de pouce, je ne travaille jamais sur mac et par conséquent je galère à travailler avec VBA sur mac mais j'y suis contraint :p
Alors je me permet de vous exposer mon problème !

Je pars du tableau "tab depart" qui est rempli par le temps passé par travailleurs sur chaque activité

Et je dois créer une macro qui en fasse un recap dans un autre onglet avec les informations suivantes:
Nom salarié, semaine, année, Activité et temps passé .

Voilà si jamais quelqu'un a le temps de se pencher dessus ça m'aiderait beaucoup :)

PS: Je peux transmettre les document Excel par mail si quelqu'un veut bien m'aider :p

Cordialement,
Fumex Olivier
 
Alors si quelqu'un veut m'aider, je suis pas très loin de réussir, j'ai juste un petit souci.
J'ai le code suivant :
Bloc de code:
Sub recap()
Sheets("recap").Select
Rows("2:451").Select
Selection.ClearContents
ligne = 2
    With Sheets("Feuille temps")
            For i = 3 To 32
            'For j = 3 To 32 Step 5
            'For j = 1 To 6
            For k = 12 To 34
                    If .Cells(k, i) <> "" And .Cells(k, i) <> 0 Then
                        'Cells(ligne, 1) = .Cells(10, j)
                        'Cells(ligne, 1) = .Cells(10, i + 5 * (j - 1))
                        Cells(ligne, 2) = .Cells(4, 25)
                        Cells(ligne, 3) = .Cells(4, 32)
                        Cells(ligne, 4) = .Cells(11, i)
                        Cells(ligne, 5) = .Cells(k, 1)
                        Cells(ligne, 6) = .Cells(k, i)
                        ligne = ligne + 1
                    End If
            Next k
        Next i
    Next j
    End With
Sheets("Feuille temps").Select
End Sub
En commentaire deux façon différentes pour trouver le résultat mais aucunes de marche pleinement...

Le but de cette partie est de récupérer les Nom des travailleur dans le tableau ci dessus malheureusement dans un cas il ne prend que le premier nom et dans l'autre il les prends tous même si ils n'ont pas travaillés...
Une idée ?