code VBA valeur numérique

Ilino

XLDnaute Barbatruc
Bonsoir forum
J’ai un souci sur ce code, je n’arrive pas a l’adapter a mon programme
Si je fais rentrer une valeur non numérique dans la cellule le code effacera toutes les valeurs numériques de la colonne ????

Merci

Option Explicit
Dim I As Byte, Oui As Boolean
Dim j As Byte
Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
Oui = False
For I = 1 To Len(Target)
If Mid(Target, I, 1) = "." Then
Oui = True
Target = CDbl(Left(Target, I - 1) & "," & Right(Target, Len(Target) - I))
Exit For
End If
Next
For j = 1 To 10
If Oui = False Then
Range("A" & j).Select
Range("A" & j) = ""
End If
Next j
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
 

néné06

XLDnaute Accro
Re : code VBA valeur numérique

Bonsoir Ilino

J'ai remarqué que le Next j est mal placé ???

Ce que tu as ecrit
If Oui = False Then
Range("A" & j).Select
Range("A" & j) = ""
End If Next j


If Oui = False Then
Range("A" & j).Select
Range("A" & j) = ""
End If
Next j

A voir ???


A+
 

saya

XLDnaute Nouveau
Re : code VBA valeur numérique

bonsoir Ilino, néné06, le forum,

Pour éviter que les valeurs des 10 premières cellules de la colonne A ne soient supprimées si on ne rentre pas une valeur numérique, il te suffit de remplacer :
Code:
For j = 1 To 10
    If Oui = False Then
        Range("A" & j).Select        
        Range("A" & j)=""
    End If 
Next j

par :
Code:
j = Target.Row
If Oui = False Then
    Range("A" & j).Select
    Range("A" & j) = ""
End If

Là, tu n'effaces que la cellule concernée.

En espérant t'avoir aidé,

Bonne soirée,
Saya
 

Discussions similaires

Réponses
11
Affichages
347

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia