ta liste déroulante en A1 était composée des items de la colonne H2:Hx Comment faire pour deviner???
'--------------------------------------- Sub test() Dim Rg As Range, C As Range, X As String, Col As Long Dim LastRow As Long, NoSemaine As String
With Worksheets("recap semaine") If .Range("A65536").End(xlUp).Row < 3 Then NoSemaine = "SEMAINE 1" 'QUEL EST LE NUMÉRO DE LA PREMIÈRE SEMAINE Else NoSemaine = .Range("A" & .Range("A65536").End(xlUp).Row) NoSemaine = "SEMAINE " & Split(NoSemaine, " ")(1) + 1 End If End With
With Worksheets("Feuil1") With .Range("A1") With .Validation X = Right(.Formula1, Len(.Formula1) - 1) End With End With Set Rg = .Range(X) End With
With Worksheets("recap semaine") LastRow = .Cells.Find("*", LookIn:=xlValues, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1 End With
Application.ScreenUpdating = False Application.EnableEvents = False On Error Resume Next For Each C In Rg Err.Clear With Worksheets("recap semaine") With .Rows(1) Col = Application.Match(C.Value, .Value, 0) .Cells(LastRow, Col).Resize(, 4).Value = C.Offset(, 1).Resize(, 4).Value End With End With Next
With Worksheets("recap semaine").Range("A" & LastRow) .Value = NoSemaine End With Application.ScreenUpdating = True Application.EnableEvents = True
ta liste déroulante en A1 était composée des items de la colonne H2:Hx
Comment faire pour deviner???
'---------------------------------------
Sub test()
Dim Rg As Range, C As Range, X As String, Col As Long
Dim LastRow As Long, NoSemaine As String
With Worksheets("recap semaine")
If .Range("A65536").End(xlUp).Row < 3 Then
NoSemaine = "SEMAINE 1" 'QUEL EST LE NUMÉRO DE LA PREMIÈRE SEMAINE
Else
NoSemaine = .Range("A" & .Range("A65536").End(xlUp).Row)
NoSemaine = "SEMAINE " & Split(NoSemaine, " ")(1) + 1
End If
End With
With Worksheets("Feuil1")
With .Range("A1")
With .Validation
X = Right(.Formula1, Len(.Formula1) - 1)
End With
End With
Set Rg = .Range(X)
End With
With Worksheets("recap semaine")
LastRow = .Cells.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
End With
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
For Each C In Rg
Err.Clear
With Worksheets("recap semaine")
With .Rows(1)
Col = Application.Match(C.Value, .Value, 0)
.Cells(LastRow, Col).Resize(, 4).Value = C.Offset(, 1).Resize(, 4).Value
End With
End With
Next
With Worksheets("recap semaine").Range("A" & LastRow)
.Value = NoSemaine
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
ta liste déroulante en A1 était composée des items de la colonne H2:Hx Comment faire pour deviner???
'--------------------------------------- Sub test() Dim Rg As Range, C As Range, X As String, Col As Long Dim LastRow As Long, NoSemaine As String
With Worksheets("recap semaine") If .Range("A65536").End(xlUp).Row < 3 Then NoSemaine = "SEMAINE 1" 'QUEL EST LE NUMÉRO DE LA PREMIÈRE SEMAINE Else NoSemaine = .Range("A" & .Range("A65536").End(xlUp).Row) NoSemaine = "SEMAINE " & Split(NoSemaine, " ")(1) + 1 End If End With
With Worksheets("Feuil1") With .Range("A1") With .Validation X = Right(.Formula1, Len(.Formula1) - 1) End With End With Set Rg = .Range(X) End With
With Worksheets("recap semaine") LastRow = .Cells.Find("*", LookIn:=xlValues, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1 End With
Application.ScreenUpdating = False Application.EnableEvents = False On Error Resume Next For Each C In Rg Err.Clear With Worksheets("recap semaine") With .Rows(1) Col = Application.Match(C.Value, .Value, 0) .Cells(LastRow, Col).Resize(, 4).Value = C.Offset(, 1).Resize(, 4).Value End With End With Next
With Worksheets("recap semaine").Range("A" & LastRow) .Value = NoSemaine End With Application.ScreenUpdating = True Application.EnableEvents = True
J'ai supposé que dans la liste de validation, tu avais une référence à une plage de cellules, si tu emploies un NOM (Plage nommée), il faudra adapter la macro!
J'ai supposé que dans la liste de validation, tu
avais une référence à une plage de cellules, si tu
emploies un NOM (Plage nommée), il faudra adapter la macro!
J'ai supposé que dans la liste de validation, tu avais une référence à une plage de cellules, si tu emploies un NOM (Plage nommée), il faudra adapter la macro!
Bonjour michD Première action en arrivant au boulot était de tester ta macro.
Elle fonctionne parfaitement mais comme je te le disais hier et cela se con firme ce sont les valeurs situées dans le tableau H1:L4 Qui sont prisent en compte et non celles du tableau D1:D4 qui sont celles que je veux prendr e.
Certes ce sont les mêmes mais mon tableau exemple en h1:l4 sont beaucoup plus nombreuses. Et ce tableau me sert de matrice pour mes valeurs résult ats en D1:D4
Merci
Bonjour michD
Première action en arrivant au boulot était de tester ta macro.
Elle fonctionne parfaitement mais comme je te le disais hier et cela se con firme ce sont les valeurs situées dans le tableau H1:L4 Qui sont prisent en compte et non celles du tableau D1:D4 qui sont celles que je veux prendr e.
Certes ce sont les mêmes mais mon tableau exemple en h1:l4 sont beaucoup plus nombreuses. Et ce tableau me sert de matrice pour mes valeurs résult ats en D1:D4
Bonjour michD Première action en arrivant au boulot était de tester ta macro.
Elle fonctionne parfaitement mais comme je te le disais hier et cela se con firme ce sont les valeurs situées dans le tableau H1:L4 Qui sont prisent en compte et non celles du tableau D1:D4 qui sont celles que je veux prendr e.
Certes ce sont les mêmes mais mon tableau exemple en h1:l4 sont beaucoup plus nombreuses. Et ce tableau me sert de matrice pour mes valeurs résult ats en D1:D4
Merci
MichD
| ce tableau me sert de matrice pour mes valeurs résultats en D1:D4
Si tu regardes dans la macro, j'extrais la plage de cellules que tu as assignée à la liste de validation en A1. En conséquence, la boucle est faite à partir du contenu de cette liste et non pas à partir du contenu de la colonne H1: Hx. Dans ton fichier exemple, tu reprends la plage H1:Hx comme plage de cellules comme étant la plage pour ta liste de validation... mais tu pourrais indiquer n'importe quelle autre plage pour ta liste de validation.
J'ai présumé que tu utilisais une plage de cellules pour définir ta liste de validation. Si tu emploies un "NOM" (insertion / nom / définir) comme liste, il faudra adapter la procédure quelque peu.
La section du code qui extrait la plage de cellules pour ta liste de validation. '------------------------------------------ With Worksheets("Feuil1") With .Range("A1") With .Validation X = Right(.Formula1, Len(.Formula1) - 1) End With End With Set Rg = .Range(X) End With '------------------------------------------
MichD --------------------------------------------------------------- "magic-dd" a écrit dans le message de groupe de discussion :
Bonjour michD Première action en arrivant au boulot était de tester ta macro.
Elle fonctionne parfaitement mais comme je te le disais hier et cela se confirme ce sont les valeurs situées dans le tableau H1:L4 Qui sont prisent en compte et non celles du tableau D1:D4 qui sont celles que je veux prendre.
Certes ce sont les mêmes mais mon tableau exemple en h1:l4 sont beaucoup plus nombreuses. Et ce tableau me sert de matrice pour mes valeurs résultats en D1:D4
Merci
| ce tableau me sert de matrice pour mes valeurs résultats en D1:D4
Si tu regardes dans la macro, j'extrais la plage de cellules que tu as
assignée à la liste de validation en A1. En conséquence, la boucle
est faite à partir du contenu de cette liste et non pas à partir
du contenu de la colonne H1: Hx.
Dans ton fichier exemple, tu reprends la plage H1:Hx comme plage
de cellules comme étant la plage pour ta liste de validation... mais
tu pourrais indiquer n'importe quelle autre plage pour ta liste de
validation.
J'ai présumé que tu utilisais une plage de cellules pour définir ta liste
de validation. Si tu emploies un "NOM" (insertion / nom / définir) comme
liste, il faudra adapter la procédure quelque peu.
La section du code qui extrait la plage de cellules pour ta liste de
validation.
'------------------------------------------
With Worksheets("Feuil1")
With .Range("A1")
With .Validation
X = Right(.Formula1, Len(.Formula1) - 1)
End With
End With
Set Rg = .Range(X)
End With
'------------------------------------------
MichD
---------------------------------------------------------------
"magic-dd" a écrit dans le message de groupe de discussion :
cb6a70ef-7190-4abd-b28e-53fceb40bfd2@googlegroups.com...
Bonjour michD
Première action en arrivant au boulot était de tester ta macro.
Elle fonctionne parfaitement mais comme je te le disais hier et cela se
confirme ce sont les valeurs situées dans le tableau H1:L4 Qui sont prisent
en compte et non celles du tableau D1:D4 qui sont celles que je veux
prendre.
Certes ce sont les mêmes mais mon tableau exemple en h1:l4 sont beaucoup
plus nombreuses. Et ce tableau me sert de matrice pour mes valeurs résultats
en D1:D4
| ce tableau me sert de matrice pour mes valeurs résultats en D1:D4
Si tu regardes dans la macro, j'extrais la plage de cellules que tu as assignée à la liste de validation en A1. En conséquence, la boucle est faite à partir du contenu de cette liste et non pas à partir du contenu de la colonne H1: Hx. Dans ton fichier exemple, tu reprends la plage H1:Hx comme plage de cellules comme étant la plage pour ta liste de validation... mais tu pourrais indiquer n'importe quelle autre plage pour ta liste de validation.
J'ai présumé que tu utilisais une plage de cellules pour définir ta liste de validation. Si tu emploies un "NOM" (insertion / nom / définir) comme liste, il faudra adapter la procédure quelque peu.
La section du code qui extrait la plage de cellules pour ta liste de validation. '------------------------------------------ With Worksheets("Feuil1") With .Range("A1") With .Validation X = Right(.Formula1, Len(.Formula1) - 1) End With End With Set Rg = .Range(X) End With '------------------------------------------
MichD --------------------------------------------------------------- "magic-dd" a écrit dans le message de groupe de discussion :
Bonjour michD Première action en arrivant au boulot était de tester ta macro.
Elle fonctionne parfaitement mais comme je te le disais hier et cela se confirme ce sont les valeurs situées dans le tableau H1:L4 Qui sont prisent en compte et non celles du tableau D1:D4 qui sont celles que je veux prendre.
Certes ce sont les mêmes mais mon tableau exemple en h1:l4 sont beaucoup plus nombreuses. Et ce tableau me sert de matrice pour mes valeurs résultats en D1:D4
Merci
magic-dd
J'ai regarde ce que tu me disais. J'ai effacé toutes les données numérique du tableau h J'ai mis en brut des données dans la colonne D
Forcément cela boucle correctement avec les différents noms de la liste déroulante mais aucune valeur n'est recopiée dans le récapitulatif s i ce n'est le numéro de semaine
Étrange.
J'ai regarde ce que tu me disais.
J'ai effacé toutes les données numérique du tableau h
J'ai mis en brut des données dans la colonne D
Forcément cela boucle correctement avec les différents noms de la liste déroulante mais aucune valeur n'est recopiée dans le récapitulatif s i ce n'est le numéro de semaine
J'ai regarde ce que tu me disais. J'ai effacé toutes les données numérique du tableau h J'ai mis en brut des données dans la colonne D
Forcément cela boucle correctement avec les différents noms de la liste déroulante mais aucune valeur n'est recopiée dans le récapitulatif s i ce n'est le numéro de semaine
Étrange.
MichD
Je ne vais pas faire 50 versions de la même procédure.
Commence par décider comment tu veux bâtir tes tableaux et lorsque ta décision sera arrêtée, tu publieras le fichier montrant la structure de tes données.
Je ne vais pas faire 50 versions de la même procédure.
Commence par décider comment tu veux bâtir tes tableaux
et lorsque ta décision sera arrêtée, tu publieras le fichier
montrant la structure de tes données.
Je ne vais pas faire 50 versions de la même procédure.
Commence par décider comment tu veux bâtir tes tableaux et lorsque ta décision sera arrêtée, tu publieras le fichier montrant la structure de tes données.
En voulant faire un exemple simple je me suis emmêlé les pinceaux
toutes mes excuses
donc voici le nouveau fichier tel que je l'ai réellement
merci de voir si ma demande est toujours réalisable
Grand merci
http://cjoint.com/?CJitjQL4GY0
MichD
Pourquoi n'utilise pas un tableau croisé dynamique, tu as la compilation des données de ta feuille "Données reçues" à l'aide de quelques clics de souris. Cela peut aussi se faire par macro...
Pourquoi n'utilise pas un tableau croisé dynamique, tu
as la compilation des données de ta feuille "Données reçues"
à l'aide de quelques clics de souris. Cela peut aussi se faire
par macro...
Pourquoi n'utilise pas un tableau croisé dynamique, tu as la compilation des données de ta feuille "Données reçues" à l'aide de quelques clics de souris. Cela peut aussi se faire par macro...