Erreur 2029 lors du traitement d'une case affichant #NOM en vba

Signaler
Messages postés
6
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
24 décembre 2003
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Salut à tous
Je travaille sur un programme en vba qui traite des fichiers txt. lors de l'intégration de certain, des cases prennent un status #NOM, comme quoi la formule n'est pas correcte. Normale car ce n'est pas une formule, car le fichier contient le terme +skip hors lors de l'intergration du fichier dans excel, il met un egale devant soir =+skip et la #NOM. Ainsi lors du traiement de cette case une erreur survient et se nomme Erreur 2029!!!
Question:
Comment puis je faire pour traiter cette case afin de retirer ce egale "=" ?

Merci d'avance de vos reponses!!

7 réponses

Messages postés
149
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
24 novembre 2010
2
essaye d'ajouter des guillemets... "+skip" histoire kil le considere bien kom une chaine de caracteres...

"la vitesse de la lumière est supérieure à celle du son, c'est pourquoi un imbécile parait intelligent jusqu'a ce qu'il parle !!"
Messages postés
6
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
24 décembre 2003

En fait ce qui est genant c'est que ce +skip vient d'une integration de fichier donc je ne peux pas interagir. C'est ca qui est null bien que ma case soit en format texte, lors de l'intergration de ce +skip il met un = devant ce qui genere une erreur!!!
alors j'aimerais savoir comment je peux modifier cette cellule en vba pour tout simplement retirer ce =!!

merci de ta reponse mais si tu en as une autre n'hesite pas!!
Messages postés
6
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
24 décembre 2003

Help!!!
Il y a personne qui peut m'aider!!
j'ai exactement le même problème avec des cellules ayant des valeurs "-Bernard", issu d'une requete sql donc impossible de modifier aux préalable. Si quelqu'un a une solution
solution trouvée !

voici le code pour la cellule (311,3)

Sub Sample()
Dim sTemp As String

With Sheets(1)
'~~> Check if cell has error
If IsError(.Cells(312, 3).Value) Then
'~~> Check if it is a 2029 error
If .Cells(312, 3).Value = CVErr(2029) Then
'~~> Get the cell contents
sTemp = Trim(.Cells(312, 3).Formula)
'~~> Remove =/-
Do While Left(sTemp, 1) = "="
sTemp = Trim(Mid(sTemp, 2))
Loop
'~~> Either put it in back in the cell or do
'~~> what ever you want with sTemp
.Cells(311, 3).Formula = sTemp
End If
End If
End With
End Sub
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Si tu ajoute une apostrophe > ' < en tête des cellules, elles seront considérées comme contenant du texte, donc Excel n'essayera pas de trouver une formule.
Par contre, le contenu de la cellule commencera par cet apostrophe, dont pas forcément pratique pour la suite.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Bonjour,
Range("J1").Value = Replace(Range("J1").Formula, "=", "")
remplacera infailliblement en texte sans le signe "=" toure formule située en cellule J1
Si on y a un "=+skip", deviendra "¨+skip"
Si on y a un "=A5" qui affichait le "X" contenu dans A5, affichera et contiendra dorénavant "A5"