Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/05/2011, 08h08   #1
Membre du Club
 
Inscription : avril 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 63
Points : 59
Points : 59
Par défaut Tester si le contenu d'une cellule est du texte ou une formule

Bonjour,

Je rechercher une formule qui m'indique si une cellule contient du texte ou une formule.

Exemple : je livre une feuille Excel qui contient en dernière colonne une formule de mise en forme de texte, cette formule donne une proposition que l'utilisation peut accepter (ne rien faire) ou écraser par un texte qui lui convient.
Dans la colonne qui précéde, je voudrais pouvoir tester si l'utilisateur à effacer la formule par son texte ou bien laisser en l'état.
Je ne ne trouve pas de formule sur le sujet.

Par avance merci
blepy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 08h21   #2
Membre habitué
 
Avatar de Syphochaos
 
Homme Cyril CHMIEL
Étudiant
Inscription : avril 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Cyril CHMIEL
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 70
Points : 109
Points : 109
Bonjour blepy.

Une idée qui m'est passée par la tête est de vérifier si le premier caractère est un "=" (donc une formule) ou non. Est-ce que celà te conviendrait ?

Si oui, voici un lien qui devrait t'aider.

Sypho.
Syphochaos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 08h28   #3
Membre du Club
 
Inscription : avril 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 63
Points : 59
Points : 59
La formule qui consisterait à tester si le premier caractère est un "égal" ne marche pas bien évidemment, puisque le test suivant teste le contenu résultat.

Code :
=SI(GAUCHE(R2;1)="=";"";"Modifié")
blepy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 08h46   #4
Membre du Club
 
Inscription : avril 2008
Messages : 33
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 33
Points : 40
Points : 40
Bonjour blepy, Syphochaos, le forum

Une manière de faire serait avec une fonction personnalisée :
  • Mettre ce code dans un module :
    Code :
    1
    2
    3
    Public Function EstUneFormule(cellule As Range) As Boolean
        EstUneFormule = cellule(1, 1).HasFormula
    End Function
  • L'utiliser de la manière suivante dans la feuille de calcul :
La fonction renvoie un booléen :
  • True, si la cellule passée en paramètre contien une formule ;
  • False, dans le cas contraire.
Il est don possible de l'utiliser au sein d'un SI(), ou tout autre formule normale.

A+
mromain est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/05/2011, 17h48   #5
Membre du Club
 
Inscription : avril 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 63
Points : 59
Points : 59
Par défaut Le résultat est au rendez vous.

Même si je sais programmer en VBA, je suis un adepte d'une recherche de solution en Excel pur (formule dans les feuilles) pour des problèmes de maintenabilité.

Dans le cas présent, peu importe les moyens pourvu que cela marche merci bien
blepy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 18h01   #6
Membre éprouvé
 
Avatar de Runsh63
 
Homme Duc
Nihiliste
Inscription : mars 2011
Messages : 395
Détails du profil
Informations personnelles :
Nom : Homme Duc
Âge : 31
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Nihiliste
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 395
Points : 419
Points : 419
Bonjour,

Sans passer par VBA et via une formule, je n'ai pas de solution à proposer. Maintenant, un moyen simple de retrouver les cellules contenant une formule consiste à sélectionner la plage à tester puis Ctrl+T, sélectionner "Formule" et voilà. "Yapluka" mettre en couleur, ou je ne sais quoi encore qui te permettra de retrouver facilement tes cellules à formule.
Runsh63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 09h34   #7
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 682
Points : 4 682
Bonjour,

Dans une cellule adjacente, tu peux utiliser cette macro XL4 qui retournera la formule ou le contenu, donc tu sais au premier coup d’œil ce qui a été choisi....

cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 10h01   #8
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 305
Points : 2 653
Points : 2 653
Bonjour,
Toujours avec la formule MacroXL4. LIRE.CELLULE(48;cellule) renvoie VRAI si c'est une formule, FAUX si c'est une constante.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h56.


 
 
 
 
Partenaires

Hébergement Web