Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1559 connectés 

  FORUM HardWare.fr
  Windows & Software

  Excel 97 : Type de contenu d'une cellule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel 97 : Type de contenu d'une cellule

n°477709
SdQY
La paresse fatigue le cerveau
Posté le 13-12-2001 à 13:36:51  profilanswer
 

Qui peut me dire comment déterminer si une formule contient un texte, un nombre ou, une formule faisant référence à une ou plusieurs autres cellules.
 
Exemple:
 
A1 = le texte «bonjour»
A2 = le nombre «2001»
A3 = la formule «=A1»
A4 = la formule «=A2»
 
Avec la fonction CELLULE("type";référence) on obtient le type du résultat, et non le type du contenu. c.à.d. le même résultat appliqué sur A1 et A3, ou A2 et A4
 
Même chose avec CELLULE("contenu";référence).
Pas plus de succès avec NBCAR(référence)
ni avec
ESTNUM(valeur)
ESTTEXTE(valeur)
Quant à ESTREF(valeur) qui devrait être la solution, j'ai l'impression qu'elle ne fonctionne pas.
 
Ce qui est un comble pour une fonction :sarcastic:  
 
Merci de votre aide


---------------
@+
mood
Publicité
Posté le 13-12-2001 à 13:36:51  profilanswer
 

n°477751
BettaSplen​dens
Tout cul tendu mérite son dû
Posté le 13-12-2001 à 14:15:54  profilanswer
 

je suis pas sûr de tout avoir compris... reprécise sinon....
 
si j'ai bien compris tu veux savoir si dans une cellule, tu as une formule faisant référence à d'autres cellules...
 
Pour moi la solution est la suivante...
=> Tu analyses la chaine de caractères qui fait la formule de la cellule et tu recherches dedans un truc du type "A1" ou bien "$A1" ou bien "$A$1" ou bien "A$1" ou bien cells(x,y)..;etc... enfin, tout ce qui peut marcher quoi pour désigner une autre cellule...
 
Tu effectue une recherche sur ta chaine de caractères en analysant aussi les ( et les " pour voir si ce n'est pas dans du texte que tu trouves ces infos....
 
VOilà.. c ça ou pas ?


---------------
Tout cul tendu mérite son dû
n°478439
SdQY
La paresse fatigue le cerveau
Posté le 14-12-2001 à 08:03:57  profilanswer
 

J'ai déjà testé mais hélas cela ne fonctionne pas car les fonctions d'analyse de texte portent sur le résultat de la cellule et non sur son contenu réel.
 
Quand le contenu d'une cellule est une formule, elle commence systématiquement par le signe =. Donc, il suffirait de faire :
 
Exemple:
Supposons que
A1 =  le texte "bonjour"
A2 = la formule "=A1"
 
Le résultat de A1 est "bonjour"
 
En faisant gauche(A1) on obtient "b"
En faisant gauche(A2) on obtient aussi "b"
 
Je ne sais donc pas quelle est la cellule qui contient une formule!
 
Si tu connais une fonction quelconque ou une façon spéciale d'écrire la fonction pour qu'elle analyse le contenu réel et non le résultat je suis preneur.


---------------
@+
n°478443
BettaSplen​dens
Tout cul tendu mérite son dû
Posté le 14-12-2001 à 08:23:06  profilanswer
 

Si si, c'est bien possible de récupérer la formule et non le résultat ! J'avoue néanmoins que je ne l'utilise pas spécialement, mais ça existe...
VOilà qq extraits de l'aide VB pour Applications d'Excel (version 97 et donc avec toutes les versions supérieures... à la syntaxe française/anglaise près !)...
*************************
Formula, propriété:
 
Renvoie ou définit la formule de l'objet dans le style de référence A1 et dans la langue de la macro. Type de données Variant en lecture-écriture pour les objets Range et type de données String en lecture-écriture pour tous les autres objets.
 
Remarques
 
Si la cellule contient une constante, cette propriété la renvoie. De même, si la cellule est vide, Formula renvoie une chaîne de caractères vide. Si la cellule contient une formule, Formula la renvoie sous la forme d'une chaîne de caractères dont le format est celui qui serait utilisé pour afficher cette formule dans la barre de formule (signe égal compris).
Si vous affectez une date à la formule d'une cellule, Microsoft Excel vérifie si la cellule est déjà dotée de l'un des formats numériques ou de date. Si tel n'est pas le cas, Microsoft Excel lui affecte le format de date numérique par défaut.
 
Si la plage est unidimensionnelle ou bidimensionnelle, vous pouvez affecter à la formule un tableau Visual Basic de même dimension.
Le fait de définir la formule pour une plage comprenant plusieurs cellules insère cette formule dans la totalité des cellules de la plage.
 
*************************
Cet exemple montre comment définir la formule de la cellule A1 de la feuille Feuil1.
 
Worksheets("Feuil1" ).Range("A1" ).Formula = "=$A$4+$A$10"
*************************
RMQ => ceci peut donc se faire à priori dans les 2 sens, tu peux récupérer dans une variable chaine ta formule en faisant une opération du type:
MaChaineFormule= Cells(x,y).Formula
 
et voilà.. ça ira mieux comme ça. Mais je pense que tu es obligé de passer par une macro à mon avis, les formules "de base" ne permettent pas ce genre d'opération sinon.
Je t'ai mis en gras/couleur les trucs qu prouvent que la propriété est bien en lecture écriture...
 
Enjoy it...


---------------
Tout cul tendu mérite son dû
n°478695
SdQY
La paresse fatigue le cerveau
Posté le 14-12-2001 à 13:00:12  profilanswer
 

Merci beaucoup pour ton aide et à charge de revanche.
 
Cela étant, mon problème n'est pas résolu car je ne peux pas passer par une macro.
 
Le but final est, en utilisant le formatage conditionnel, faire apparaître sur fond jaune par exemple, les cellules contenant une formule et sur fond blanc les autres afin de visualiser immédiatement celles qu'il faut mettre à jour manuellement.
Je vais continuer à chercher (y compris de l'aide) et dès que j'aurai trouver quelque chose, je t'en informerai


---------------
@+
n°478733
BettaSplen​dens
Tout cul tendu mérite son dû
Posté le 14-12-2001 à 13:32:58  profilanswer
 

SdQY a écrit a écrit :

Merci beaucoup pour ton aide et à charge de revanche.
 
Cela étant, mon problème n'est pas résolu car je ne peux pas passer par une macro.
 
Le but final est, en utilisant le formatage conditionnel, faire apparaître sur fond jaune par exemple, les cellules contenant une formule et sur fond blanc les autres afin de visualiser immédiatement celles qu'il faut mettre à jour manuellement.
Je vais continuer à chercher (y compris de l'aide) et dès que j'aurai trouver quelque chose, je t'en informerai  




euh.. et pkoi une macro ça n'ira pas ?!??? je vois pas le pb que ça pose... tu te crées un bouton pour l'exécuter..... et comme ça dès que tu veux "rafraichir" ton truc... ben tu lances.. ensutie à toi de scanner les cellules intelligement pour que ça aille vite.
Mais bon, sans passer par une macro, c impossible... je te l'assure !!! et c une solution tout à fait correcte je trouve d'ailleurs ! non ?
@+


---------------
Tout cul tendu mérite son dû
n°479362
SdQY
La paresse fatigue le cerveau
Posté le 14-12-2001 à 21:27:28  profilanswer
 

Ouais! j'suis ok! çà marche mais cela me parait un peu lourd. j'préfèrai utiliser la mise en forme conditionnelle.


---------------
@+

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  Excel 97 : Type de contenu d'une cellule

 

Sujets relatifs
Dégradé dans cellule excelquestion bête sur excel
Comment vider le contenu de la "saisi automatique" d'IE??Excel : format Euro
** URGENT *** Cherche formule sous Excel XPcomment on fait sous excel??
la question à 2 balles pour excelEst il possible de telecharger le contenu de Windows Update ??
pb avec les date sous Excel 
Plus de sujets relatifs à : Excel 97 : Type de contenu d'une cellule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR