Pb avec #VALEUR
Bonjour,
Une extraction de données qui me renvoi certaines valeurs "#VALEUR!" que je veut supprimer :
#VALEUR!
13
14
10
13
J'ai copier la colonne et l'ai coller en format texte dans une autre colonne (colonne B) mais j'optiens l'erreur 13 (incompatibilité...) lorsque j'utilise ce code :
If Sheets("Pour stats délai").Range("B" & a) = "#VALEUR!" Then
pourtant chaque cellule est en format texte, je tente donc :
Sheets("Pour stats délai").Columns("B:B").Select
Selection.Replace What:="#VALEUR!", Replacement:="toto", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Excel ne me change pas cette valeur pourtant c'est du texte, si je remplace What:="#VALEUR!" par What:="13", "13" est bien changé par "toto", la commande fonctionne bien alors pourquoi ça refuse de changer "#VALEUR!" alors que c'est en format texte.
Voici le code entier (code erreur 13 sur la ligne en gras) :
Private Sub btDelaiLancement_Click()
Dim varDerLigne As Integer
' Nb de lignes a traiter
varDerLigne = 1
Sheets("Mise en forme").Select
Do Until Sheets("Mise en forme").Range("A" & varDerLigne) = ""
varDerLigne = varDerLigne + 1
Loop
' Lancement formules nb de jour
Sheets("Pour stats délai").Select
Sheets("Pour stats délai").Range("A2").Select
ActiveCell.FormulaR1C1 = "=ROUND(('Mise en forme'!RC[12]-'Mise en forme'!RC[11]),0)"
Selection.AutoFill Destination:=Sheets("Pour stats délai").Range("A2:A" & varDerLigne), Type:=xlFillDefault
' Suppression formules et copier/coller des données
Sheets("Pour stats délai").Columns("A:A").Select
Selection.Copy
Sheets("Pour stats délai").Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
' sup
Sheets("Pour stats délai").Columns("A:A").Select
Selection.ClearContents
' changement des cellules "#VALEUR!" par "aaa" sinon excel renvoi une erreur malgré que ce soit du texte
Sheets("Pour stats délai").Columns("B:B").Select
Selection.Replace What:="#VALEUR!", Replacement:="aaa", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' Sup des cellules ayants la valeur :#VALEUR!
For a = 2 To varDerLigne
If Sheets("Pour stats délai").Range("B" & a) = "#VALEUR!" Then
Selection.Delete Shift:=xlUp
Else
End If
Next a
Ah ! En manuel par REMPLACER (ctrl+h) ça fonctionne