Supprimer un apostrophe en début de formule VBA
geo0258
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, voici mon problème
En cellule Y4 j'ai une formule =RECHERCHEH(X3;'Picklists Project'!1:4;4;FAUX)
Celle-ci va me ramener une chaine de caractère représentant une autre formule : ici elle donne :
'=si('1 - Project table'!B4="";"";SI(ESTERREUR(DATEVAL(TEXTE($X4;"jj/mm/aa")));"wrong";""))
Selon ce que je choisi comme valeur en X3 j'aurai différentes formules qui remonteront en Y4.
Je sélectionne ensuite ma cellule Y4 je copie et colle en valeur dans une autre cellule
Je me retrouve donc avec la formule ci-dessus qui a un apostrophe au début. Si je le supprime manuellement et que je fait entrée, ma formule n'est plus une chaine de caractère, elle devient active et fonctionne. Je cherche à reporduire cette action en VBA et je n'y arrive pas. Le but est que peut importe la formule qui s'affiche en Y4 je puisse la copier ailleurs, faire en sorte qu'elle ne soit pas considérée comme une chaine de caractère et ensuite l'étendre.
Je précise que j'ai déjà réussi à supprimer l'apostrophe avec la fonction MID, mais la formule ne s'active pas pour autant.
Voilà en eséprant avoir été assez clair dans mon explication.
Merci d'avance pour vos réponses
En cellule Y4 j'ai une formule =RECHERCHEH(X3;'Picklists Project'!1:4;4;FAUX)
Celle-ci va me ramener une chaine de caractère représentant une autre formule : ici elle donne :
'=si('1 - Project table'!B4="";"";SI(ESTERREUR(DATEVAL(TEXTE($X4;"jj/mm/aa")));"wrong";""))
Selon ce que je choisi comme valeur en X3 j'aurai différentes formules qui remonteront en Y4.
Je sélectionne ensuite ma cellule Y4 je copie et colle en valeur dans une autre cellule
Je me retrouve donc avec la formule ci-dessus qui a un apostrophe au début. Si je le supprime manuellement et que je fait entrée, ma formule n'est plus une chaine de caractère, elle devient active et fonctionne. Je cherche à reporduire cette action en VBA et je n'y arrive pas. Le but est que peut importe la formule qui s'affiche en Y4 je puisse la copier ailleurs, faire en sorte qu'elle ne soit pas considérée comme une chaine de caractère et ensuite l'étendre.
Je précise que j'ai déjà réussi à supprimer l'apostrophe avec la fonction MID, mais la formule ne s'active pas pour autant.
Voilà en eséprant avoir été assez clair dans mon explication.
Merci d'avance pour vos réponses
A voir également:
- Enlever apostrophe excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Enlever pub youtube - Accueil - Streaming
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour,
tu as une erreur dans la rédaction de ta formule sous réserve que ta feuille se nomme bien Project table
et non pas 1 - Project table,
remplace '1 - Project table'!B4 par 1 -'Project table'!B4
ce qui te donnera
tu as une erreur dans la rédaction de ta formule sous réserve que ta feuille se nomme bien Project table
et non pas 1 - Project table,
remplace '1 - Project table'!B4 par 1 -'Project table'!B4
ce qui te donnera
=SI(1 -'Project table'!B4="";"";SI(ESTERREUR(DATEVAL(TEXTE($X4;"jj/mm/aa")));"wrong";""))
Bonjour,
' force le format texte.
C'est faisable en vba mais si c'est juste pour que la formule soit lisible met simplement un espace devant.
Ensuite un remplacer " =" par "=" sur la plage t'activera les formules.
eric
Edit : à faire dans ta plage du rechercheh() où je la suppose présente.
' force le format texte.
C'est faisable en vba mais si c'est juste pour que la formule soit lisible met simplement un espace devant.
Ensuite un remplacer " =" par "=" sur la plage t'activera les formules.
eric
Edit : à faire dans ta plage du rechercheh() où je la suppose présente.
Bonjour eriiic,
Merci pour ta réponse malheureusement ta solution ne marche pas.
Alors j'ai réussi à faire en sorte que l'apostrophe n'apparaisse plus. J'ai tout simplement essayé avec d'autres colonnes que la colonne Y et je n'avais pas d'apostrophe. Donc je ne sais pas pourquoi la colonne Y forçait le résultat à être un champ texte.
Il n'empèche que même sans ça ma formule ne s'active toujours pas. Si j'essaie ta solution eriic, ça fonctionne mais sans utiliser VBA. Et le tout étant que mes utilisateurs n'aient pas à faire de manip à par appuyer sur un bouton. J'ai enregistré la macro qui correspond au fait de remplacer " =" par "=" mais ça ne fonctionne toujours pas.
J'ai essayé avec FormulaR1C1 pour faire s'activer la formule mais je n'y arrive pas. Peut être que j'utilise mal la fonction, c'est la 1ere fois que je l'utilise. Est-ce que quelqu'un sait s'il y a une piste à creuser la dessus et la syntaxe que je devrais utiliser ? Ou une autre piste peut être ?
Merci pour ta réponse malheureusement ta solution ne marche pas.
Alors j'ai réussi à faire en sorte que l'apostrophe n'apparaisse plus. J'ai tout simplement essayé avec d'autres colonnes que la colonne Y et je n'avais pas d'apostrophe. Donc je ne sais pas pourquoi la colonne Y forçait le résultat à être un champ texte.
Il n'empèche que même sans ça ma formule ne s'active toujours pas. Si j'essaie ta solution eriic, ça fonctionne mais sans utiliser VBA. Et le tout étant que mes utilisateurs n'aient pas à faire de manip à par appuyer sur un bouton. J'ai enregistré la macro qui correspond au fait de remplacer " =" par "=" mais ça ne fonctionne toujours pas.
J'ai essayé avec FormulaR1C1 pour faire s'activer la formule mais je n'y arrive pas. Peut être que j'utilise mal la fonction, c'est la 1ere fois que je l'utilise. Est-ce que quelqu'un sait s'il y a une piste à creuser la dessus et la syntaxe que je devrais utiliser ? Ou une autre piste peut être ?
Du coup ta solution ne fonctionne pas
Pour info ma rechercheV en cellule Y4 va pointer dans la table Picklists Projects sur ça : ="=si('1 - Project table'!B4="""";"""";SI(ESTERREUR(DATEVAL(TEXTE("&ADRESSE(4;EQUIV("Start_date";'1 - Project table'!3:3;0);3;1)&";""jj/mm/aa"")));"&""""&"wrong"&""""&";""""))"
du coup le résultat de ma rechercheV affiche ça : =si('1 - Project table'!B4="";"";SI(ESTERREUR(DATEVAL(TEXTE($X4;"jj/mm/aa")));"wrong";""))
Et ensuite (petite correction par rapport à ce que j'ai écrit avant), lorsque que je copie colle le résultat de ma rechercheV par valeur il me rajoute un apostrophe devant ma formule, comme ça: '=si('1 - Project table'!B4="";"";SI(ESTERREUR(DATEVAL(TEXTE($X4;"jj/mm/aa")));"wrong";""))
Et donc ensuite je le supprime manuellement, je tappe entrée et la formule marche. Et d'ailleurs je vais également apporter une correction sur ce que j'ai dit avant. L'apostrophe n'aparait pas quand on regarde simplement la cellule, il apparait quand on clic sur la cellule. Et donc quand j'utilise la fonction mid pour le supprimer, c'est mon = qui se fait supprimer en 1er. Mais l'apostrophe est toujours là quand je clic sur la cellule. J'ai donc plus l'impression que c'est une histoire de format, comme si ma formule était en format texte ou quelque chose du genre.