VBA : Excel Comparaison de date
perdeak
Messages postés
80
Statut
Membre
-
phil_232 Messages postés 286 Statut Membre -
phil_232 Messages postés 286 Statut Membre -
Bonjour,
Voilà mon problème:
J'ai 2 colonnes A et B. Dans A on retrouve des dates du style '28-mars-01', dans B on retrouve une chaîne de caractères du style '005 ROUT01'.
Je veux parcourir l'ensemble de ma colonne B, trouver 2 occurences identiques, si j'en trouve 2 identiques, je compare les dates, et je voudrais garder seulement l'occurence qui a la date la plus récente et effacer la ligne ou la date est la plus ancienne. En plus de ça j'aimerai rajouter un test sur la date, il faut qu'elle soit inférieur au '31/12/07'
Voilà mon code:
Quand je lance ma macro, ça mouline mais rien ne se passe....HELP
Voilà mon problème:
J'ai 2 colonnes A et B. Dans A on retrouve des dates du style '28-mars-01', dans B on retrouve une chaîne de caractères du style '005 ROUT01'.
Je veux parcourir l'ensemble de ma colonne B, trouver 2 occurences identiques, si j'en trouve 2 identiques, je compare les dates, et je voudrais garder seulement l'occurence qui a la date la plus récente et effacer la ligne ou la date est la plus ancienne. En plus de ça j'aimerai rajouter un test sur la date, il faut qu'elle soit inférieur au '31/12/07'
Voilà mon code:
For i = 2 To 1264
For j = 3 To 1264
If Cells("B" & i).Value = Range("B" & j) Then
If Range("A" & i) > Range("A" & j) Then
If Range("A" & i) < CDate(31 - déc - 7) Then
Rows("j:j").Select
Selection.Cut
Rows("i:i").Select
ActiveSheet.Paste
Rows("j:j").Select
Selection.Delete Shift:=xlUp
Else
'on verra
End If
End If
If Range("A" & i) > Range("A" & j) Then
If Range("A" & j) < CDate(31 - déc - 7) Then
Rows("i:i").Select
Selection.Cut
Rows("j:j").Select
ActiveSheet.Paste
Rows("i:i").Select
Selection.Delete Shift:=xlUp
Else
'on verra
End If
End If
If Range("A" & i) = Range("A" & j) Then
Rows("i:i").Select
Selection.Cut
Rows("j:j").Select
ActiveSheet.Paste
Rows("i:i").Select
Selection.Delete Shift:=xlUp
End If
End If
Next j
Next i
Quand je lance ma macro, ça mouline mais rien ne se passe....HELP
A voir également:
- VBA : Excel Comparaison de date
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Find vba - Astuces et Solutions
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
3 réponses
In Excel, the CDate function converts a value to a date.
The syntax for the CDate function is:
CDate( expression )
expression must be a valid date.
VBA Code
The CDate function can only be used in VBA code. For example:
Dim LstrDate As String
Dim LDate As Date
LstrDate = "Apr 6, 2003"
LDate = CDate(LstrDate)
In this example, the variable LDate would now contain the value 4/6/2003.
Donc
CDate("31 - déc - 7")
Bref j'imagine qu'Excel fait avec ca
CDate(31 - déc - 7)
CDate(31 - 12 - 7)
CDate(12)
Date devient le 12 du mois courant de l'année en cours
The syntax for the CDate function is:
CDate( expression )
expression must be a valid date.
VBA Code
The CDate function can only be used in VBA code. For example:
Dim LstrDate As String
Dim LDate As Date
LstrDate = "Apr 6, 2003"
LDate = CDate(LstrDate)
In this example, the variable LDate would now contain the value 4/6/2003.
Donc
CDate("31 - déc - 7")
Bref j'imagine qu'Excel fait avec ca
CDate(31 - déc - 7)
CDate(31 - 12 - 7)
CDate(12)
Date devient le 12 du mois courant de l'année en cours