Je dois charger un tableau dans une nouvelle feuille excel.
La premi=E8re colonne correspond =E0 une date=20
d'enregistrement.=20
Est-il possible de faire une macro qui d=E9tecte dans la=20
premi=E8re colonne les cellules o=F9 il y a autre chose qu'une=20
date et qui supprime automatiquement la ligne=20
correspondante ? =20
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
- Les valeurs sont en A1:Ax - A1 contient (obligatoirement) une étiquette de colonne - IV1 et IV2 sont vides !
Sub zz_SupDates() Application.ScreenUpdating = False [IV2].Formula = "=(A2<>"""")*(left(cell(""format"",A2),1)<>""D"")" Range("A1:A" & [A65536].End(3).Row).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=[IV1:IV2] Range("A2:A" & [A65536].End(3).Row).SpecialCells(xlCellTypeVisible).EntireRow.Delete [IV2] = "": ActiveSheet.ShowAllData [A1].Select End Sub
PS : Convient pour la plupart des formats de dates "classiques" mais pas exhaustivement tous !
AV
"emmanuel" a écrit dans le message news: 073d01c396ff$c450c380$ Bonjour,
Je dois charger un tableau dans une nouvelle feuille excel. La première colonne correspond à une date d'enregistrement.
Est-il possible de faire une macro qui détecte dans la première colonne les cellules où il y a autre chose qu'une date et qui supprime automatiquement la ligne correspondante ?
merci. emmanuel
- Les valeurs sont en A1:Ax
- A1 contient (obligatoirement) une étiquette de colonne
- IV1 et IV2 sont vides !
Sub zz_SupDates()
Application.ScreenUpdating = False
[IV2].Formula = "=(A2<>"""")*(left(cell(""format"",A2),1)<>""D"")"
Range("A1:A" & [A65536].End(3).Row).AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=[IV1:IV2]
Range("A2:A" &
[A65536].End(3).Row).SpecialCells(xlCellTypeVisible).EntireRow.Delete
[IV2] = "": ActiveSheet.ShowAllData
[A1].Select
End Sub
PS : Convient pour la plupart des formats de dates "classiques" mais pas
exhaustivement tous !
AV
"emmanuel" <g.guegan@snpe.com> a écrit dans le message news:
073d01c396ff$c450c380$a601280a@phx.gbl...
Bonjour,
Je dois charger un tableau dans une nouvelle feuille excel.
La première colonne correspond à une date
d'enregistrement.
Est-il possible de faire une macro qui détecte dans la
première colonne les cellules où il y a autre chose qu'une
date et qui supprime automatiquement la ligne
correspondante ?
- Les valeurs sont en A1:Ax - A1 contient (obligatoirement) une étiquette de colonne - IV1 et IV2 sont vides !
Sub zz_SupDates() Application.ScreenUpdating = False [IV2].Formula = "=(A2<>"""")*(left(cell(""format"",A2),1)<>""D"")" Range("A1:A" & [A65536].End(3).Row).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=[IV1:IV2] Range("A2:A" & [A65536].End(3).Row).SpecialCells(xlCellTypeVisible).EntireRow.Delete [IV2] = "": ActiveSheet.ShowAllData [A1].Select End Sub
PS : Convient pour la plupart des formats de dates "classiques" mais pas exhaustivement tous !
AV
"emmanuel" a écrit dans le message news: 073d01c396ff$c450c380$ Bonjour,
Je dois charger un tableau dans une nouvelle feuille excel. La première colonne correspond à une date d'enregistrement.
Est-il possible de faire une macro qui détecte dans la première colonne les cellules où il y a autre chose qu'une date et qui supprime automatiquement la ligne correspondante ?
merci. emmanuel
xyzdmassi
Bonjour, J'utilise l'instruction <IsDate> pour déterminer si une valeur est une date. Autrement, ne supprime pas une ligne après l'autre car, dans Excel, le traitement est très long. Il vaut mieux 1.mettre à "" la première cellule correspondant à la ligne à supprimer, 2. trier à la fin, 3.compter le nombre de lignes dont la première cellule vaut "", 4. supprimer le bloc ainsi déterminé.
-----Message d'origine----- Bonjour,
Je dois charger un tableau dans une nouvelle feuille excel.
La première colonne correspond à une date d'enregistrement.
Est-il possible de faire une macro qui détecte dans la première colonne les cellules où il y a autre chose qu'une
date et qui supprime automatiquement la ligne correspondante ?
merci. emmanuel .
Bonjour,
J'utilise l'instruction <IsDate> pour déterminer si une
valeur est une date.
Autrement, ne supprime pas une ligne après l'autre car,
dans Excel, le traitement est très long. Il vaut mieux
1.mettre à "" la première cellule correspondant à la ligne
à supprimer, 2. trier à la fin, 3.compter le nombre de
lignes dont la première cellule vaut "", 4. supprimer le
bloc ainsi déterminé.
-----Message d'origine-----
Bonjour,
Je dois charger un tableau dans une nouvelle feuille
excel.
La première colonne correspond à une date
d'enregistrement.
Est-il possible de faire une macro qui détecte dans la
première colonne les cellules où il y a autre chose
qu'une
date et qui supprime automatiquement la ligne
correspondante ?
Bonjour, J'utilise l'instruction <IsDate> pour déterminer si une valeur est une date. Autrement, ne supprime pas une ligne après l'autre car, dans Excel, le traitement est très long. Il vaut mieux 1.mettre à "" la première cellule correspondant à la ligne à supprimer, 2. trier à la fin, 3.compter le nombre de lignes dont la première cellule vaut "", 4. supprimer le bloc ainsi déterminé.
-----Message d'origine----- Bonjour,
Je dois charger un tableau dans une nouvelle feuille excel.
La première colonne correspond à une date d'enregistrement.
Est-il possible de faire une macro qui détecte dans la première colonne les cellules où il y a autre chose qu'une
date et qui supprime automatiquement la ligne correspondante ?