Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/10/2011, 12h06   #1
Membre éprouvé
 
Avatar de Runsh63
 
Homme Duc
Nihiliste
Inscription : mars 2011
Messages : 395
Détails du profil
Informations personnelles :
Nom : Homme Duc
Âge : 31
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Nihiliste
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 395
Points : 419
Points : 419
Par défaut Problème de comparaison de date

Bonjour à tous,

J'ai un souci pour finaliser une macro. Je compile des données comptables, et à ce titre, je prépare un fichier qui ne doit comporter que les données du mois arrêté (mois précédent le mois en-cours).
Dans un de mes fichiers qui m'est destiné et que je retraite, mes collaborateurs oublient très souvent de supprimer les lignes des premières opérations comptables du mois en-cours. Je dois donc scratcher ces lignes.
Voilà ce que j'ai fait comme code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Test()
 
Dim SKLR4 As Long, DateSup As Long
Dim ClosingDate As String
 
    With Sheets("Final LCESK GL data")
 
    SKLR4 = .Range("J" & .Rows.Count).End(xlUp).Row
 
    'Supprimer les lignes dont les dates sont celles du mois succédant celui de la clôture
 
    ClosingDate = InputBox("Entrez le dernier jour du mois clôturé (Format = jj/mm/aaaa)", "Définition de la date")
 
        For DateSup = SKLR4 To 2 Step -1
            If .Cells(DateSup, 7) > ClosingDate Then
            .Cells(DateSup, 7).EntireRow.Delete
            End If
        Next DateSup
 
    End With
 
End Sub
Problème, seules les lignes du 31/mm/2011 sont supprimées, alors que je voudrais supprimer celles du jj/10/2011. Les cellules en J sont toutes au format date "dd/mm/yyyy".
Pouvez-vous m'aider SVP ?

Vous remerciant par avance pour votre aide et vos conseils, je vous souhaite une bonne journée !
__________________
Cordialement,

Runsh
Runsh63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 12h21   #2
Membre éprouvé
 
Avatar de Runsh63
 
Homme Duc
Nihiliste
Inscription : mars 2011
Messages : 395
Détails du profil
Informations personnelles :
Nom : Homme Duc
Âge : 31
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Nihiliste
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 395
Points : 419
Points : 419
J'ai finalement trouvé, certaines date malgré le format comporte une heure après (dans la même cellule), et ces sont supprimées, du coup j'ai fait :

Code :
If .Cells(DateSup, 7) > ClosingDate + 1 Then
et ça marche parfaitement.

Merci quand même !
__________________
Cordialement,

Runsh
Runsh63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h51.


 
 
 
 
Partenaires

Hébergement Web