OVH Cloud OVH Cloud

Interprétation du nom d'une cellule nommée entrée par macro

4 réponses
Avatar
sergiobzh
Bonjour,
mon titre ne doit pas =EAtre tr=E8s clair !
Voil=E0 le probl=E8me :
J'ai un classeur qui a, entre autre, une cellule nomm=E9e "cellToto"
Dans la cellule A1, j'ai le texte "cellToto"
A c=F4t=E9 ( donc en A2) je veux entrer en VBA la formule
"=3DESTTEXTE(CellToto)"

A priori aucune difficult=E9 jusque l=E0, j'=E9cris :
Cells(1,2).FormulaR1C1 =3D "=3DESTTEXTE(" & Cells(1,1).Value & ")"

Le probl=E8me est que la cellule m'affiche l'erreur #NOM?

Ensuite, je s=E9lectionne A2, je clicke sur la barre d'=E9dition sans
rien faire d'autre
puis je valide par Enter =3D> miracle, j'ai bien mon r=E9sultat VRAI ou
FAUX !

Le probl=E8me est le m=EAme, que cellToto soit sur la m=EAme feuille ou
non.
Je suis bien en calcul automatique.


2eme chose : pour pallier =E0 cela, j'ai bien essay=E9 d'utiliser LIGNE()
COLONNE() et ADRESSE() avec cellToto mais je ne sais pas comment
r=E9cup=E9rer le nom de la feuille o=F9 est cellToto.
Qui sait ?=20

Merci d'avance pour toutes les r=E9ponses=20
Sergio

4 réponses

Avatar
Elliac
Bonjour,

Syntaxe anglaise pour VB :
Cells(1,2).FormulaR1C1 = "=ISTEXT(" & Cells(1,1).Value & ")"

Camille



Bonjour,
mon titre ne doit pas être très clair !
Voilà le problème :
J'ai un classeur qui a, entre autre, une cellule nommée "cellToto"
Dans la cellule A1, j'ai le texte "cellToto"
A côté ( donc en A2) je veux entrer en VBA la formule
"=ESTTEXTE(CellToto)"

A priori aucune difficulté jusque là, j'écris :
Cells(1,2).FormulaR1C1 = "=ESTTEXTE(" & Cells(1,1).Value & ")"

Le problème est que la cellule m'affiche l'erreur #NOM?

Ensuite, je sélectionne A2, je clicke sur la barre d'édition sans
rien faire d'autre
puis je valide par Enter => miracle, j'ai bien mon résultat VRAI ou
FAUX !

Le problème est le même, que cellToto soit sur la même feuille ou
non.
Je suis bien en calcul automatique.


2eme chose : pour pallier à cela, j'ai bien essayé d'utiliser LIGNE()
COLONNE() et ADRESSE() avec cellToto mais je ne sais pas comment
récupérer le nom de la feuille où est cellToto.
Qui sait ?

Merci d'avance pour toutes les réponses
Sergio




Avatar
Jacky
Bonjour
Un peu plus court
'-------
[B1].Formula = "=ISTEXT(celltoto)"
'ou
[B1].Formula = "=ISTEXT(a1)"
'--------------
--
Salutations
JJ

a écrit dans le message de news:

Bonjour,
mon titre ne doit pas être très clair !
Voilà le problème :
J'ai un classeur qui a, entre autre, une cellule nommée "cellToto"
Dans la cellule A1, j'ai le texte "cellToto"
A côté ( donc en A2) je veux entrer en VBA la formule
"=ESTTEXTE(CellToto)"

A priori aucune difficulté jusque là, j'écris :
Cells(1,2).FormulaR1C1 = "=ESTTEXTE(" & Cells(1,1).Value & ")"

Le problème est que la cellule m'affiche l'erreur #NOM?

Ensuite, je sélectionne A2, je clicke sur la barre d'édition sans
rien faire d'autre
puis je valide par Enter => miracle, j'ai bien mon résultat VRAI ou
FAUX !

Le problème est le même, que cellToto soit sur la même feuille ou
non.
Je suis bien en calcul automatique.


2eme chose : pour pallier à cela, j'ai bien essayé d'utiliser LIGNE()
COLONNE() et ADRESSE() avec cellToto mais je ne sais pas comment
récupérer le nom de la feuille où est cellToto.
Qui sait ?

Merci d'avance pour toutes les réponses
Sergio
Avatar
sergiobzh
C'était ça : il faut écrire en syntaxe anglaise.
Donc vaut meiux toujours passer par l'enregistrement de macros pour
écrire les formules via VBA.
merci.



Bonjour
Un peu plus court
'-------
[B1].Formula = "=ISTEXT(celltoto)"
'ou
[B1].Formula = "=ISTEXT(a1)"
'--------------


Avatar
sergiobzh
précision (que je viens d'apprendre) :
ça fonctionne en mettant la syntaxe française avec FormulaLocal =
"=ESTTEXTE(" etc etc



C'était ça : il faut écrire en syntaxe anglaise.
Donc vaut meiux toujours passer par l'enregistrement de macros pour
écrire les formules via VBA.
merci.



Bonjour
Un peu plus court
'-------
[B1].Formula = "=ISTEXT(celltoto)"
'ou
[B1].Formula = "=ISTEXT(a1)"
'--------------