Fonction While VBA

Résolu/Fermé
_V1nce_ Messages postés 4 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2015 - Modifié par _V1nce_ le 8/03/2013 à 10:41
_V1nce_ Messages postés 4 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2015 - 8 mars 2013 à 13:02
Bonjour tout le monde,

J'aimerai utiliser la fonction "while" mais étant très novice en prog, j'avoue ne pas trouver de solution à mon problème. Je m'explique:

J'ai en colonne A, des dates incrémentées toutes les 15 minutes, j'aimerais écrire une macro dans le but de sectionner toutes les dates de cette colonne étant inférieur à une date de référence.

Pour faire un test, je prends 20 dates de A1 à A20. Ma date de ref est en A23, j'ai donc écrit:
Range("A1").Select
While ActiveCell("<RangeA23")
ActiveCell.Offset(1, 0).Select
Wend
Mon but étant de descendre jusqu'à ce que la date soit supérieure à celle de ref. Une fois cette cellule sélectionnée, j'utiliserais:

ActiveCell.Offset(-1, 0).Select (pour sélectionner la dernière date inférieure à celle de ref)
Range(Selection, Selection.End(xlup)).Select (pour sélectionner toutes les dates inférieures en allant vers le haut)
Selection.Delete Shift:=xlUp (pour les supprimer et remonter les autres dates vers le haut).

Le problème de cette écriture vient de la boucle While qui bloque. Quelqu'un pourrait-il m'expliquer pourquoi et me montrer qu'elle serait l'alternative.

Merci d'avance,
Vincent

1 réponse

_V1nce_ Messages postés 4 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2015
8 mars 2013 à 13:02
J'ai trouvé la solution, pour ceux que ça intéresse:

Sub test()
'

Range("A1").Select

While ActiveCell < Range("ref").Value (ref étant la cellule A23)
ActiveCell.Offset(1, 0).Select
Wend

ActiveCell.Offset(-1, 0).Select
Range(Selection, Selection.End(xlUp)).Select
Selection.Delete Shift:=xlUp

End Sub
0