Problème pour vider une cellule avec une macro

Flefe2000 Messages postés 7 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 28 mars 2011 - 17 mars 2011 à 16:08
Flefe2000 Messages postés 7 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 28 mars 2011 - 23 mars 2011 à 18:07
Bonjour,

Après avoir fait un VLOOKUP je doit vider le contenu de certaines cellules mais le système n'entre même pas dans ma boucle. Comme je suis très débutant je n'arrive pas à mettre le doigt sur le problème. Est-ce un problème de type de variable ?

Dans cet exemple de doit supprimer le contenu érroné (1900-01-00) et (#N/A) et rester avec des cellules vide

Warranty
1900-01-00
1900-01-00
11/10/2000
11/10/2000
#N/A
#N/A
1/1/1994
1/1/1994


Voici ma portion de code qui pose problème:

Dim LastCell As Long
Dim NoDate As String

LastCell = 2
Range("Z" + CStr(LastCell)).Select
NoDate = ActiveCell.Value

Do While (NoDate <> "")
NoDate = ActiveCell.Value
If NoDate = "1900-01-00" Then
Cells(CStr(LastCell)).Select
Selection.Delete Shift:=xlUp
ElseIf NoDate = "#N/A" Then
Cells(CStr(LastCell)).Select
Selection.Delete Shift:=xlUp
ElseIf NoDate <> "" Then
LastCell = LastCell + 1
Range("F" + CStr(LastCell)).Select
NoDate = ActiveCell.Value
End If
Range("F" + CStr(LastCell)).Select
Loop

Merci de votre aide
Francois

2 réponses

4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
22 mars 2011 à 17:08
De visuel je changerais ton code de la façon suivante.
dim NoDate as string
Dim LastCell As Long
LastCell = 2
Do While (Range("Z" & LastCell) <> "")
NoDate =Range("Z" & LastCell)
If NoDate "1900-01-00" or NoDate "#N/A" Then
Range("Z" & LastCell) = ""
else
NoDate = Range("F" & LastCell)
End If
LastCell = LastCell + 1
Loop

J'ai taper cela en regardant ton code et on partant de principe que tout voulais que la cellule soit vide celon deux conditions. Il faudra peut-être corriger un peut mais là ta boucle va fonctionner (si le code que tu as fait avant est bon)
0
Flefe2000 Messages postés 7 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 28 mars 2011
23 mars 2011 à 18:07
Re-bonjour 4u4me4us

2 choses se produises ...

1: Avec le #N/A j'ai une erreur "Type Mismatch"
2: Avec la date "1900-01-00" j'entre dans la boucle mais elle tourne sans fin

Je me souviens avoir eu des problèmes avec le "#N/A" ... j'avais dû les remplacer par le chiffre "1" et le traiter comme un nombre... j'aurai aimé éviter cette étape pour optimiser la macro

Merci encore
0
Rejoignez-nous