Bonjour à tous,
Je me retrouve face à un problème pour mettre en place une macro répondant au problème suivant :
1) Choix d'un mois par l'utilisateur parmi une liste (la forme est en fait du texte reprenant la forme "avr-09"). Une feuille de données pré-existante porte comme nom le mois en question. Dans cette feuille figurent des nom de projets avec des heures travaillées par personne et par jour.
2) Création de nouvelles feuilles utilisant le nom du mois choisi.
3) Dans la nouvelle feuille créée, utilisation d'une sommeprod pour rapatrier les données à partir de la feuille du mois pré-existante. Objectif : avoir le nombre d'heures travaillées sur le mois par projet.
C'est pour ce 3ème point que ça bloque, la formule ne passe pas. .
Voici les éléments de la macro, je met tous les éléments pour que vous puissiez mieux comprendre et pour info s'il y a des besoins :
Public MoisChoisi As String
Public nomfeuille As String
Public Feuille As Worksheet
1 et 2) MoisChoisi = Range("D3").Value 'Correspond à la cellule où figure le mois choisi
If Range("D3") = "" Then
MsgBox ("Indiquer un mois")
Range("D3").Select
ElseIf Range("D3") <> "" Then
Sheets.Add.Select
ActiveSheet.Name = "Bilan Pjt" & " " & MoisChoisi
nomfeuille = ActiveSheet.Name
Set Feuille = ActiveSheet
For i = 1 To Sheets.Count 'Compte le nombre de feuilles du classeur
ActiveSheet.Select
ActiveSheet.Move After:=Sheets(i) 'Déplace la feuille créée après la dernière feuille.
Next i
End If
3) Range("C1") = "Heures Travaillées"
For k = 2 To Range("B1").End(xlDown).Row 'J'ai en colonne B les noms de projet qui sont sur la feuille pré-existante.
Cells(k, 3).Select
Cells(k, 3) = _
"=SUMPRODUCT(('" & MoisChoisi & "'!R2C2:R2000C2=RC2)*('" & MoisChoisi & "'!R2C3:R2000C3))"
Next
Le problème vient peut être de la façon de nommer la feuille à partir de laquelle les données sont rapatriés. Je suis obligé d'utiliser un nom variable.
La méthode ci dessus a fonctionné une fois, puis plus jamais...
Voilà, si vous aviez une idée pour m'aider, parce que là je bloque !
Je me retrouve face à un problème pour mettre en place une macro répondant au problème suivant :
1) Choix d'un mois par l'utilisateur parmi une liste (la forme est en fait du texte reprenant la forme "avr-09"). Une feuille de données pré-existante porte comme nom le mois en question. Dans cette feuille figurent des nom de projets avec des heures travaillées par personne et par jour.
2) Création de nouvelles feuilles utilisant le nom du mois choisi.
3) Dans la nouvelle feuille créée, utilisation d'une sommeprod pour rapatrier les données à partir de la feuille du mois pré-existante. Objectif : avoir le nombre d'heures travaillées sur le mois par projet.
C'est pour ce 3ème point que ça bloque, la formule ne passe pas. .
Voici les éléments de la macro, je met tous les éléments pour que vous puissiez mieux comprendre et pour info s'il y a des besoins :
Public MoisChoisi As String
Public nomfeuille As String
Public Feuille As Worksheet
1 et 2) MoisChoisi = Range("D3").Value 'Correspond à la cellule où figure le mois choisi
If Range("D3") = "" Then
MsgBox ("Indiquer un mois")
Range("D3").Select
ElseIf Range("D3") <> "" Then
Sheets.Add.Select
ActiveSheet.Name = "Bilan Pjt" & " " & MoisChoisi
nomfeuille = ActiveSheet.Name
Set Feuille = ActiveSheet
For i = 1 To Sheets.Count 'Compte le nombre de feuilles du classeur
ActiveSheet.Select
ActiveSheet.Move After:=Sheets(i) 'Déplace la feuille créée après la dernière feuille.
Next i
End If
3) Range("C1") = "Heures Travaillées"
For k = 2 To Range("B1").End(xlDown).Row 'J'ai en colonne B les noms de projet qui sont sur la feuille pré-existante.
Cells(k, 3).Select
Cells(k, 3) = _
"=SUMPRODUCT(('" & MoisChoisi & "'!R2C2:R2000C2=RC2)*('" & MoisChoisi & "'!R2C3:R2000C3))"
Next
Le problème vient peut être de la façon de nommer la feuille à partir de laquelle les données sont rapatriés. Je suis obligé d'utiliser un nom variable.
La méthode ci dessus a fonctionné une fois, puis plus jamais...
Voilà, si vous aviez une idée pour m'aider, parce que là je bloque !