tester si une cellule contient un nombre

P

Pascal

Guest
Salut

C'est surement une question un peu bete mais j'arriiiiiiive paaaaas :(((

Après plusieurs recherches infructueuses sur ce forum et sur le site de STephane, je me tourne a nouveau vers vous...

Voici mon code. Je voudrais juste savoir ce qu'il faut mettre à la place de ******IsNumber******* pour faire comprendre à Excel de copier quelquechose seulement si la cellule "Di" contient un nombre.

Dim i As Integer
For i = 9 To 31
If Range("D" & i).*******IsNumber******* Then
Range("F6").Select
Selection.Copy
Range("F" & i).Select
ActiveSheet.Paste
End If
Next i
End Sub

Merci d'avance pour votre aide
 
P

Pascal

Guest
merci michael.

Malheureusement j'ai une erreur de compilation ("Sub ou fonction non definie")

Je travaille sous Excel97 - SR2 (k). C'est peut etre une version trop vieille?

En tout cas je n'ai plus d'erreur 1004 ou autre :)
 
M

michael

Guest
effectivement, si tu as copié directement le code dans VBA tu auras une erreur. Il manque :

Sub MaMacro()

en première ligne du code. Copie ce qui suit directement dans VBA :

Sub MaMacro()
Dim i As Integer
For i = 9 To 31
If IsNumber(Range("D" & i)) = True Then '<--Voici la syntaxe
Range("F6").Select
Selection.Copy
Range("F" & i).Select
ActiveSheet.Paste
End If
Next i
End Sub
 
P

Pascal

Guest
Merci vraiment michael :)

J'ai toujours cette erreur de "fonction ou sub non definie". J'ai l'impression que excel ne comprend pas le "IsNumber". Je l'ai essayé sur d'autres versions et j'ai la meme chose. Mais j'ai réussi a me débrouiller autrement. J'ai trouvé une fonction dont je suis sur qu'elle est reconnue par excel puisque trouvée dans l'aide.

Private Sub CommandButton4_Click()

Dim i As Integer
For i = 9 To 31
If IsNumeric(Range("D" & i)) = False Then
Range("F6").Select
Selection.Copy
Range("F" & i).Select
ActiveSheet.Paste
End If
Next i
End Sub

Merci beaucoup en tous cas pour ton aide michael :)
 

Discussions similaires

Statistiques des forums

Discussions
299 878
Messages
1 979 749
Membres
206 856
dernier inscrit
Proux