[VBA] conditions dans une cellule d'Excel
Résolu/Fermé
A voir également:
- [VBA] conditions dans une cellule d'Excel
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Liste déroulante excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Proteger cellule excel - Guide
6 réponses
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
4 mars 2007 à 23:20
4 mars 2007 à 23:20
Bonsoir,
Ok, il suffit d'utiliser la fonction EVAL(A2&$A$1) où A1 contient =9, >=9 ou <=0, et A2 contient 10 par exemple.
là, ça retournera FAUX.
si tu mets 9 en A2, ça retournera VRAI
NB : EVAL() est une fonction de la bibliothèque Morefunc (http://xcell05.free.fr/downloads/Morefunc.zip ) de Laurent Longre. Il faut donc l'installer d'abord.
Tu peux également écrire ta propre fonction :
Function evalue(montexte As String) As Boolean
evalue = Evaluate(montexte)
End Function
qui fait la même chose
A+
Ok, il suffit d'utiliser la fonction EVAL(A2&$A$1) où A1 contient =9, >=9 ou <=0, et A2 contient 10 par exemple.
là, ça retournera FAUX.
si tu mets 9 en A2, ça retournera VRAI
NB : EVAL() est une fonction de la bibliothèque Morefunc (http://xcell05.free.fr/downloads/Morefunc.zip ) de Laurent Longre. Il faut donc l'installer d'abord.
Tu peux également écrire ta propre fonction :
Function evalue(montexte As String) As Boolean
evalue = Evaluate(montexte)
End Function
qui fait la même chose
A+
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
3 mars 2007 à 19:01
3 mars 2007 à 19:01
Bonsoir,
je ne comprends pas ce que tu veux faire avec VBA mais je peux te dire qu'il suffit que tu utilises Range("A1").value=Range("A2").value ou encore [A1]=[A2] dans tes IF THEN.
remarques :
je ne vois pas pourquoi tu gardes le égal dans ce que tu appelles (à tort) une condition : =9
tu peux rester dans excel en mettant 9 en A1 et tu utilises une formule (en A3 par ex) =Si(A2=A1;"toto";"titi")
cette dernière approche n'est valable que si tu veux mettre une valeur en A3, valeur qui dépend de l'égalité A2=A1 qui elle est la condition de ta formule SI()
A+
je ne comprends pas ce que tu veux faire avec VBA mais je peux te dire qu'il suffit que tu utilises Range("A1").value=Range("A2").value ou encore [A1]=[A2] dans tes IF THEN.
remarques :
je ne vois pas pourquoi tu gardes le égal dans ce que tu appelles (à tort) une condition : =9
tu peux rester dans excel en mettant 9 en A1 et tu utilises une formule (en A3 par ex) =Si(A2=A1;"toto";"titi")
cette dernière approche n'est valable que si tu veux mettre une valeur en A3, valeur qui dépend de l'égalité A2=A1 qui elle est la condition de ta formule SI()
A+
Bonsoir,
d'abord merci d'essayer de repondre a mon probleme.
En fait, c'est plus compliqué que ca. Je voudrais que l'uitilisateur de la feuille Excel, ne puisse avoir le choix pour remplir le cellule (1,1) qu'entre :
≥9
=9
≤9
Il est donc important que le signe =ou ≤ ou ≥ soit visible. (Pour le probleme du choix j'utilise l'option de Validation de données.)
Mon probleme reside donc dans le fait que je n'arrive pas a utiliser ce signe choisi.
En concatenant, on peut ecrire dans une autre case, la valeur de la cellule (1,2) et la condition.
Par exemple, si la case (1,2) contient 10, on obtiendra 10=9 en cellule (1,3). Et je voudrais que la cellule (1,4) affiche donc FAUX (ou aute chose signifiant l'erreur precedente).
La concatenation n'etait qu'une idée, mais si vous aviez une idée pour que si j'ai toute une liste de valeurs en colonne 2, j'ai dans une colonne autre un resultat de la compraraison avec cette "condition" en cellule (1,1).
Merci d'avance
d'abord merci d'essayer de repondre a mon probleme.
En fait, c'est plus compliqué que ca. Je voudrais que l'uitilisateur de la feuille Excel, ne puisse avoir le choix pour remplir le cellule (1,1) qu'entre :
≥9
=9
≤9
Il est donc important que le signe =ou ≤ ou ≥ soit visible. (Pour le probleme du choix j'utilise l'option de Validation de données.)
Mon probleme reside donc dans le fait que je n'arrive pas a utiliser ce signe choisi.
En concatenant, on peut ecrire dans une autre case, la valeur de la cellule (1,2) et la condition.
Par exemple, si la case (1,2) contient 10, on obtiendra 10=9 en cellule (1,3). Et je voudrais que la cellule (1,4) affiche donc FAUX (ou aute chose signifiant l'erreur precedente).
La concatenation n'etait qu'une idée, mais si vous aviez une idée pour que si j'ai toute une liste de valeurs en colonne 2, j'ai dans une colonne autre un resultat de la compraraison avec cette "condition" en cellule (1,1).
Merci d'avance
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
5 mars 2007 à 14:23
5 mars 2007 à 14:23
Bonjour,
evalue(montexte As String) As Boolean est bien entendu une fonction à définir dans VBA.
tu colles le code que je t'ai indiqué dans un module de ton classeur.
ensuite seulement tu pourras l'utiliser
A+
evalue(montexte As String) As Boolean est bien entendu une fonction à définir dans VBA.
tu colles le code que je t'ai indiqué dans un module de ton classeur.
ensuite seulement tu pourras l'utiliser
A+
Bonjour,
pourrai-tu expliquer comment tu mets le format de la cellule en texte. Est-ce par logicielle ou directement dans Excel?
Merci à toi.
pourrai-tu expliquer comment tu mets le format de la cellule en texte. Est-ce par logicielle ou directement dans Excel?
Merci à toi.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour tout le monde,
je voudrais savoir ce qu'on peut faire concretement avec VBA sur excel en finances??
des pistes?
merci
je voudrais savoir ce qu'on peut faire concretement avec VBA sur excel en finances??
des pistes?
merci
Concrètement tu peux faire tout ce que peut faire VBA (à toi de savoir programmer un algorithme..), tu créer une fonction (type : Function) que tu appelle dans ta cellule avec les fonctions personnalisée ^^
tout les arguments de ta fonction te seront demandé si tu passe par l'assistant de excel (le petit bouton fx) et tu choisi les cases correspondant a ton argument :)
La conversion de la case choisie en texte est automatique...
tout les arguments de ta fonction te seront demandé si tu passe par l'assistant de excel (le petit bouton fx) et tu choisi les cases correspondant a ton argument :)
La conversion de la case choisie en texte est automatique...
5 mars 2007 à 09:44
Une petite derniere question (un peu part curiosité :))
La fonction evalue définie, n'est pas utilisable comme tel dans Excel. (ecrire dans une cellule, =evalue(B3) ne marche pas).
C'est possible de definir une fonction sous VBA pour l'utiliser sous Excel? Si oui, comment?
A plus