Pb boucle dans une macro VBA

Bonjour,

Voici une petite macro et j'ai un problème de boucle :

Sub SYNMENS()
'
' Macro permettant de faire une synth?se mensuelle des heures affect?s aux diff?rents code projet
'
Dim NomfichierSortie
Dim HSYN As Workbook
Dim HCOLLAB As Workbook
Dim FeuilleHSYN As Worksheet
Dim FeuilleHCOLLAB As Worksheet
Dim NewNameFic As String
Dim NomCOLLAB As String
Dim numbmois As Integer
Dim numbprojet As Integer
Dim i As Integer
Dim j As Integer
Dim a As Integer

numbmois = InputBox("Entrez le num?ro de mois pour lequel vous souhaitez une synth?se ?", , , 200, 200)
numbprojet = InputBox("Entrez le num?ro de projet pour lequel vous souhaitez une synth?se des heures ?", , , 200, 200)
i = 2
a = 1

repertoire = "C:\Users\steph\Desktop\PO\NEW-RMA\"
unFichier = Dir(repertoire & "*.xlsx")

While unFichier <> ""
  Set HCOLLAB = Workbooks.Open(repertoire & unFichier)
  Set FeuilleHCOLLAB = HCOLLAB.Sheets(numbmois)

  MsgBox unFichier
  NomCOLLAB = Mid(unFichier, 10, 3)
  MsgBox NomCOLLAB

  Set HSYN = ThisWorkbook
  Set FeuilleHSYN = HSYN.Sheets(i)

        For j = 17 To 50
            If FeuilleHCOLLAB.Cells(j, 3) = numbprojet Then
                FeuilleHSYN.Cells(a, 1).Value = FeuilleHCOLLAB.Cells(j, 2).Value
                FeuilleHSYN.Cells(a, 2).Value = FeuilleHCOLLAB.Cells(j, 4).Value
                FeuilleHSYN.Cells(a, 3).Value = FeuilleHCOLLAB.Cells(j, 36).Value
                a = a + 1
            End If
        Next
        i = i + 1
        a = 1

'NewNameFic = "DES-10036-601-IMP-0" & numb
'MsgBox NewNameFic
'TSK.SaveAs (repertoire & NewNameFic)

HSYN.Save
Wend

End Sub

Petite explication : j'ai des feuilles de temps de mes équipes qui interviennent sur différents projets.

Et je souhaite faire une synthèse par mois et par projet.

Ma macro fonctionne correctement sauf qu'elle boucle toujours sur la première feuille de temps, y a une boucle que je dois mal faire à ce niveau la :

While unFichier <> ""
  Set HCOLLAB = Workbooks.Open(repertoire & unFichier)
  Set FeuilleHCOLLAB = HCOLLAB.Sheets(numbmois)

En vous remerciant pour votre aide et enrestant à votre disposition si ma demande n'est pas bien claire.

Boss92 mais pas d'Excel

bonjour

les synthèses se font avec des TCD, GCD ou mieux Power BI Desktop gratuit

s'il faut aller lire les données dans d'autres fichiers (xlsx, csv, ou 100 autres formats) faire menu Power Query

s'il y a 500 fichiers à récupérer, il le fera d'un coup !

PQuery est à télécharger pour ton 2010, il est intégré aux versions plus récentes

https://www.youtube.com/watch?v=gwW2CDdvUUs

ok c'est sympa mais si je veux ce truc avec Excel/VBA comment fait-on ?

En vous remerciant.

re

PQuery et les TCD sont des outils

l'addition est un outil. Ferais-tu une addition avec VBA ? il sait faire pourtant

VBA est un ancien outil dont on se passe grâce aux nouveaux, plus simples et plus fiables

Bonjour,

Je ne vois pas : UnFichier = Dir() en fin de ta boucle While... Wend, tu n'ouvres donc qu'un fichier...

Cordialement.

Merci beaucoup pour ce retour.

Parfait ca fonctionne bien mieux !!!

Rechercher des sujets similaires à "boucle macro vba"