je voudrais avoir une macro vba si possible qui me test ligne par ligne a
partir de la derniere vide en remontant jusqu'a c1 et qui me test si le
dernier caractere de chaque cellule de C si celui ci n'est pas un chiffre
il supprime la valeur et remonte le reste de la colonne ---- est ce
possible?
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
michdenis
Bonjour,
Tu adaptes le nom de la feuille :
'------------------------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheets("Feuil1") With .Range("C1:C" & .Range("C65536").End(xlUp).Row) For Each c In .Cells Select Case Right(Trim(c.Value), 1) Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Case Else c.Value = "" End Select Next On Error Resume Next 'Pour la colonne seulement .SpecialCells(xlCellTypeBlanks).Delete xlUp 'Pour la ligne entière '.SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlUp End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '-------------------------------------------
"STEPH B" a écrit dans le message de groupe de discussion : 4ba1f622$0$17864$ Bonjour
j ai des chiffres en colonne C
je voudrais avoir une macro vba si possible qui me test ligne par ligne a partir de la derniere vide en remontant jusqu'a c1 et qui me test si le dernier caractere de chaque cellule de C si celui ci n'est pas un chiffre il supprime la valeur et remonte le reste de la colonne ---- est ce possible?
merci d'avance.
Bonjour,
Tu adaptes le nom de la feuille :
'-------------------------------------------
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheets("Feuil1")
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
For Each c In .Cells
Select Case Right(Trim(c.Value), 1)
Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Case Else
c.Value = ""
End Select
Next
On Error Resume Next
'Pour la colonne seulement
.SpecialCells(xlCellTypeBlanks).Delete xlUp
'Pour la ligne entière
'.SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlUp
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'-------------------------------------------
"STEPH B" <stephol@prodiag.fr> a écrit dans le message de groupe de discussion :
4ba1f622$0$17864$ba4acef3@reader.news.orange.fr...
Bonjour
j ai des chiffres en colonne C
je voudrais avoir une macro vba si possible qui me test ligne par ligne a
partir de la derniere vide en remontant jusqu'a c1 et qui me test si le
dernier caractere de chaque cellule de C si celui ci n'est pas un chiffre
il supprime la valeur et remonte le reste de la colonne ---- est ce
possible?
'------------------------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheets("Feuil1") With .Range("C1:C" & .Range("C65536").End(xlUp).Row) For Each c In .Cells Select Case Right(Trim(c.Value), 1) Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Case Else c.Value = "" End Select Next On Error Resume Next 'Pour la colonne seulement .SpecialCells(xlCellTypeBlanks).Delete xlUp 'Pour la ligne entière '.SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlUp End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '-------------------------------------------
"STEPH B" a écrit dans le message de groupe de discussion : 4ba1f622$0$17864$ Bonjour
j ai des chiffres en colonne C
je voudrais avoir une macro vba si possible qui me test ligne par ligne a partir de la derniere vide en remontant jusqu'a c1 et qui me test si le dernier caractere de chaque cellule de C si celui ci n'est pas un chiffre il supprime la valeur et remonte le reste de la colonne ---- est ce possible?
merci d'avance.
STEPH B
merci ca marche super bien
"michdenis" a écrit dans le message de news:
Bonjour,
Tu adaptes le nom de la feuille :
'------------------------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheets("Feuil1") With .Range("C1:C" & .Range("C65536").End(xlUp).Row) For Each c In .Cells Select Case Right(Trim(c.Value), 1) Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Case Else c.Value = "" End Select Next On Error Resume Next 'Pour la colonne seulement .SpecialCells(xlCellTypeBlanks).Delete xlUp 'Pour la ligne entière '.SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlUp End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '-------------------------------------------
"STEPH B" a écrit dans le message de groupe de discussion : 4ba1f622$0$17864$ Bonjour
j ai des chiffres en colonne C
je voudrais avoir une macro vba si possible qui me test ligne par ligne a partir de la derniere vide en remontant jusqu'a c1 et qui me test si le dernier caractere de chaque cellule de C si celui ci n'est pas un chiffre il supprime la valeur et remonte le reste de la colonne ---- est ce possible?
merci d'avance.
merci ca marche super bien
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eKA11UoxKHA.2012@TK2MSFTNGP04.phx.gbl...
Bonjour,
Tu adaptes le nom de la feuille :
'-------------------------------------------
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheets("Feuil1")
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
For Each c In .Cells
Select Case Right(Trim(c.Value), 1)
Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Case Else
c.Value = ""
End Select
Next
On Error Resume Next
'Pour la colonne seulement
.SpecialCells(xlCellTypeBlanks).Delete xlUp
'Pour la ligne entière
'.SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlUp
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'-------------------------------------------
"STEPH B" <stephol@prodiag.fr> a écrit dans le message de groupe de
discussion :
4ba1f622$0$17864$ba4acef3@reader.news.orange.fr...
Bonjour
j ai des chiffres en colonne C
je voudrais avoir une macro vba si possible qui me test ligne par ligne a
partir de la derniere vide en remontant jusqu'a c1 et qui me test si le
dernier caractere de chaque cellule de C si celui ci n'est pas un chiffre
il supprime la valeur et remonte le reste de la colonne ---- est ce
possible?
'------------------------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheets("Feuil1") With .Range("C1:C" & .Range("C65536").End(xlUp).Row) For Each c In .Cells Select Case Right(Trim(c.Value), 1) Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Case Else c.Value = "" End Select Next On Error Resume Next 'Pour la colonne seulement .SpecialCells(xlCellTypeBlanks).Delete xlUp 'Pour la ligne entière '.SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlUp End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '-------------------------------------------
"STEPH B" a écrit dans le message de groupe de discussion : 4ba1f622$0$17864$ Bonjour
j ai des chiffres en colonne C
je voudrais avoir une macro vba si possible qui me test ligne par ligne a partir de la derniere vide en remontant jusqu'a c1 et qui me test si le dernier caractere de chaque cellule de C si celui ci n'est pas un chiffre il supprime la valeur et remonte le reste de la colonne ---- est ce possible?