Se connecter / S'enregistrer
Votre question
Résolu

erreur fonction tri date

Tags :
  • Programmation
Dernière réponse : dans Programmation
8 Août 2016 12:54:50

Bonjour,
Je souhaite copier des lignes d'un fichier excel dont la date est inférieure au 31/12/2006.
J'ai saisi la fonction suivante :
  1. Sub archivagedossierinf31122006()
  2.  
  3. Dim derLigne As Long
  4. Dim i As Long
  5. Dim nbLigneArchive As Long
  6.  
  7. derLigne = Sheets("Feuil1").Cells(Sheets("Feuil1").Rows.Count, 1).End(xlUp).Row
  8. 'on determine la fin du tableau
  9. nbLigneArchive = 0
  10.  
  11. For i = 2 To derLigne
  12. 'boucle qui regarde chaque ligne de la 2ème à la dernière ligne
  13.  
  14. Next
  15.  
  16. If Sheets("Feuil1").Cell(i, 33).Value < (39082) Then
  17. Sheets("Feuil1").Cells(i, 1).EntireRow.Copy _
  18. Sheets("archivage auto").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
  19. End If
  20.  
  21.  
  22.  
  23. End Sub


Il y a un problème au niveau de la date mais je n'arrive pas à trouver lequel, pouvez-vous m'aider s'il vous plait ?
Merci
Marlène

Edit modération: merci d'utiliser les balises [code] ... [/code] autour de ton programme

Autres pages sur : erreur fonction tri date

a b L Programmation
8 Août 2016 13:06:51

Perso je mettrait le "If" DANS la boucle, amha ça marchera nettement mieux ... :ange: 

N.B. pourquoi avec la représentation en "integer" des dates, dans quel format sont tes dates sur ta feuille ?
m
0
l
8 Août 2016 16:11:44

J'ai mit le "if" dans la boule (je pense) c'est à dire après le "for" et avant le "next".
Un bug apparait quand meme sur cette ligne :
[ If Sheets("Feuil1").Cell(i, 33).Value < (39082) Then ]

je sais qu'il y a un problème avec le format mais je ne sais pas comment l'écrire...
La date apparait de type jj/mm/aaaa
Merci
m
0
l
Contenus similaires

Meilleure solution

a b L Programmation
8 Août 2016 16:16:08

Essaye de lire l'aide sur la fonction DateDiff, elle pourrait bien t'aider ici ! https://msdn.microsoft.com/fr-fr/library/office/gg25141...
...
Travailler avec le format numérique d'une date c'est assez casse gueule ... (perso 39082.0000 ça me parle pas trop, contrairement à 31.12.2006 00:00)
partage
a b L Programmation
10 Août 2016 08:11:44

As-tu pu résoudre ton problème ?
m
0
l