muiigisha
Messages postés61Date d'inscriptionlundi 25 septembre 2017StatutMembreDernière intervention 6 décembre 2017
-
26 sept. 2017 à 15:26
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 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