Comment trouver la solution à l'erreur 2029?

muiigisha Messages postés 61 Date d'inscription lundi 25 septembre 2017 Statut Membre Dernière intervention 6 décembre 2017 - 26 sept. 2017 à 15:26
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 27 sept. 2017 à 16:14
Bonjour tout le monde,

je galère depuis sur une erreur que m'affiche le contenu de certaines cellules: "erreur 2029" quand je fais l'espion. J'ai déjà essayé de regarder sur le net et il s'est avéré que cela était dû aux caractères "=" et "-" présents dans les valeurs des cellules et considérées alors comme des formules. j'ai copié et coller un code par là pour résoudre la situatuin mais à la compilation mon code rame et excel arrête de fonctionner. Voilà ce que j'ai fait jusque présent
Sub Deleting_Duplicates()

Dim ifWbk As Workbook
Dim ifSheet As Worksheet
Dim row() As String
Dim a As Integer
Dim chcaracter As String

Application.ScreenUpdating = False
a = 0
i = 2
nb = 20
t = 0
ReDim row(19)
Set ifWbk = ThisWorkbook
Set ifSheet = ifWbk.Sheets("IPR Fields")
While ifSheet.Cells(i, 5).Value <> ""
For idcol = 1 To 19
row(idcol) = ifSheet.Cells(i, idcol).Value
Next
t = i + 1
While t <> nb_rows(ifSheet)
For idcol = 1 To 19
If IsError(ifSheet.Cells(t, idcol).Value) Then
'~~> Check if it is a 2029 error
If ifSheet.Cells(t, idcol).Value = CVErr(2029) Then
If ifSheet.Cells(t, idcol).Value Like "*" & "=" & "*" Then
ifSheet.Cells(t, idcol).Value = Replace(ifSheet.Cells(t, idcol).Formula, "=", "")
Else
ifSheet.Cells(t, idcol).Value = Replace(ifSheet.Cells(t, idcol).Formula, "-", "")
End If
End If
End If
chcaracter = ifSheet.Cells(t, idcol).Value
If row(idcol) <> chcaracter Then
a = 1
End If
Next
If a = 0 Then
Cells(t, 1).EntireRow.Delete
End If
t = t + 1
a = 0
Wend
i = i + 1
Wend
Application.ScreenUpdating = True
ifWbk.Close savechanges:=True
End Sub
Function nb_rows(ifSheet As Worksheet)

Dim l, i As Long
l = 0
i = 2

While ifSheet.Cells(i, 5).Value <> ""
l = l + 1
i = i + 1
Wend
nb_rows = l + 1

End Function


A l'aide s'il vous plait.

1 réponse

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
27 sept. 2017 à 16:14
Bonjour,

J'essaierais comme ceci, en y ajoutant une apostrophe
If ifSheet.Cells(t, idcol).Value = CVErr(2029) Then
ifSheet.Cells(t, idcol).Value = "'" & ifSheet.Cells(t, idcol).Value
End If

0
Rejoignez-nous