2 tableaux, recherche date, correspondance valeur, somme jusqu'à

julien0112

XLDnaute Nouveau
Bonjour à Tous,

Voilà mon problème:

j'ai un fichier joint qui contient 2 tableaux de dates toutes les heures et de valeurs.

le premier est une suite de chiffres classés par dates/heures.

le deuxième est un classement de date/heures de 1 à ... avec des valeurs à ces dates.


J'aimerai faire une macro qui recherche la date classée en première position du tableau 2 dans le tableau 1, une fois trouvée, implémentée la valeurs à cette date et aux 4 (cellule B3) suivantes. Recommencer jusqu'à ce que la somme de l'implémentation soit = ou < à une valeur donnée en cellule B2.

Je crois que le fichier est plus explicite...

Si quelqu'un à une piste...


Merci d'avance,
Cordialement,
j.
 

julien0112

XLDnaute Nouveau
Re : 2 tableaux, recherche date, correspondance valeur, somme jusqu'à

J'ai trouvé une solution mais lorsque je lance la macro, il s'arrête toujours à un peu plus que la valeur que je lui demande... Etrange.

je vous mets mon code, pour rire:

Sub Statut()

Dim i As Integer, j As Integer
Dim sommetotal As Variant
Dim cel As Range
Dim colonne As Integer
Dim ligne As Integer
nombreheure = Range("b7")

Cells.Select
Selection.Copy
Sheets("Tableau Valeurs").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Classement").Select
Range("F12").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tableau Valeurs").Select
Range("F12").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

sommetotal = 0
i = 11
Range("E12").Select
Range("E12:E50000").Select
Selection.ClearContents
Range("E12").Select

Do While sommetotal <= Range("B3")
i = i + 1
For j = 0 To nombreheure - 1
Set cel = Range("A12:a10000").Find(what:=Range("J" & i))
ligne = cel.Row
If Range("E" & ligne + j) > 0 Then
sommetotal = sommetotal
Else: Range("E" & ligne + j) = Application.WorksheetFunction.VLookup(Month(Range("a" & ligne + j)), Range("u1:v12"), 2, False)

sommetotal = sommetotal + Range("E" & ligne + j)
End If
'If Range("d" & i) = "OK" Then
'Range("e" & i) = "OK"
'Range("e" & i + j) = "OK"
Next j

Loop
End Sub
 

Discussions similaires

Réponses
6
Affichages
103
Réponses
25
Affichages
631

Statistiques des forums

Discussions
312 024
Messages
2 084 722
Membres
102 638
dernier inscrit
TOTO33000