jeanBaptiste
XLDnaute Junior
Bonjour le forum,
Encore une fois je me tourne vers vous car on m'a donné de nouvelle indication pour ma mission de stage mais je bloque sur un point. Je m'explique j'ai importé deux tableaux et je les ai copié dans un grand pour les comparer. Chaque tableau contient 5 colonnes "OF", "Phase", "Date de départ", "Date de fin" et la dernière pour vérifié leur présence de chaque coté.
Pour l'exemple je vais appelé "OF"+"Phase" -> ValeurA et ValeurB pour chaque tableau et la "Date de fin" -> DateA et DateB
Donc voila les 4 cas que je dois sortir
-Si ValeurA = ValeurB ET DateA >= DateB j'écris dans les lignes correspondante (sur la ligne de ValeurA et la ligne de Valeur B) "oui"
-Si ValeurA = ValeurB ET DateA < DateB j'écris dans les lignes correspondante "retard"
-Si il y a une ValeurA mais n'existe pas dans le deuxième tableau écrire que dans la 5ème colonne du premier tableau en face de la ValeurA "pas fait"
-Si il y a une ValeurB mais n'existe pas dans le premier tableau écrire que dans la 5ème colonne du deuxième tableau en face de la ValeurB "pas prévu"
Petit exemple :
et voila le code que j'ai actuellement qui ne fait que les cas "oui" et "retard"
En espérent avoir été assez claire, je reste à votre disposition si je me suis mal expliqué
Cordialement
jeanBaptiste
Encore une fois je me tourne vers vous car on m'a donné de nouvelle indication pour ma mission de stage mais je bloque sur un point. Je m'explique j'ai importé deux tableaux et je les ai copié dans un grand pour les comparer. Chaque tableau contient 5 colonnes "OF", "Phase", "Date de départ", "Date de fin" et la dernière pour vérifié leur présence de chaque coté.
Pour l'exemple je vais appelé "OF"+"Phase" -> ValeurA et ValeurB pour chaque tableau et la "Date de fin" -> DateA et DateB
Donc voila les 4 cas que je dois sortir
-Si ValeurA = ValeurB ET DateA >= DateB j'écris dans les lignes correspondante (sur la ligne de ValeurA et la ligne de Valeur B) "oui"
-Si ValeurA = ValeurB ET DateA < DateB j'écris dans les lignes correspondante "retard"
-Si il y a une ValeurA mais n'existe pas dans le deuxième tableau écrire que dans la 5ème colonne du premier tableau en face de la ValeurA "pas fait"
-Si il y a une ValeurB mais n'existe pas dans le premier tableau écrire que dans la 5ème colonne du deuxième tableau en face de la ValeurB "pas prévu"
Petit exemple :
OF | Phase | Date début | Date fin | Tache réalisée | OF | Phase | Date début | Date fin | Tache prévue | |
25321 | 30.00 | 23/06/2015 | 24/06/2015 | oui | 25323 | 30.00 | 24/06/2015 | 25/06/2015 | retard | |
25322 | 30.00 | 23/06/2015 | 24/06/2015 | oui | 25321 | 30.00 | 23/06/2015 | 24/06/2015 | oui | |
25323 | 30.00 | 23/06/2015 | 24/06/2015 | retard | 25322 | 30.00 | 24/06/2015 | 23/06/2015 | oui | |
25324 | 30.00 | 23/06/2015 | 24/06/2015 | pas fait | 25325 | 30.00 | 24/06/2015 | 24/06/2015 | pas prévu |
VB:
Dim maPlage As Range
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
Set maPlage = Range("A1:Z" & DernLigne)
Dim VALEURA As String, VALEURB As String
Dim DATEA As Date, DATEB As Date
DATEA = Format(DateSerial(Year(Date), Month(Date), Day(Date)), "dd/mm/yyyy")
DATEB = Format(DateSerial(Year(Date), Month(Date), Day(Date)), "dd/mm/yyyy")
For i = 3 To DernLigne
VALEURA = Range("A" & i).Value + Range("B" & i).Value
DATEA = Range("D" & i).Value2
For j = 3 To DernLigne
VALEURB = Range("G" & j).Value + Range("H" & j).Value
DATEB = Range("J" & j).Value2
If VALEURA = VALEURB And DATEB <= DATEA Then
Range("E" & i).Value = "oui"
Range("K" & j).Value = "oui"
End If
If VALEURA = VALEURB And DATEB > DATEA Then
Range("E" & i).Value = "retard"
Range("K" & j).Value = "retard"
End If
Next j
Next i
En espérent avoir été assez claire, je reste à votre disposition si je me suis mal expliqué
Cordialement
jeanBaptiste