Parcourir un range et si texte rencontré dans une cellule alors valeur cellule = 0

Profane

XLDnaute Occasionnel
Bonjour à tous,
mon soucis est que je n'arrive pas à voir où est mon erreur.....
ma macro devrait en parcourant une plage définie, lorsqu'elle rencontre une cellule texte, mettre sa valeur à 0
malheureusement rien ne se passe
merci d'avance pour votre aide
Cordialement

Sub SupprimeTexte()

Dim lig As Long
Dim tablo, i As Long, t

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
lig = Cells(Rows.Count, "A").End(xlUp).Row
With Sheets("A").Range("D2:AY" & lig).Select

tablo = Range("D2:AY" & lig)
For i = 1 To UBound(tablo)
t = tablo(i, 1)
If Not IsNumeric(tablo(i, 1)) Then tablo(i, 1).Value = "0"
Next
Range("D2:AY" & lig) = tablo
End With
End Sub
 

vgendron

XLDnaute Barbatruc
Re : Parcourir un range et si texte rencontré dans une cellule alors valeur cellule =

Hello

Essaie en remplaçant par ce code

Code:
Sub SupprimeTexte()

Dim lig As Long
Dim tablo, i As Long, t


Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
lig = Cells(Rows.Count, "A").End(xlUp).Row


With Sheets("A").Range("D2:AY" & lig).Select
    tablo = Range("D2:AY" & lig)
    For i = 1 To UBound(tablo)
        t = tablo(i, 1)
        If Not IsNumeric(tablo(i, 1)) Then tablo(i, 1) = 0
    Next i
    Range("D2:AY" & lig) = tablo
End With
End Sub

à noter. ta macro ne parcourt QUE la première colonne de ta range D2:AZlig
donc. les colonnes E F G.... resteront telles quelles..
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote