Condition IF dans une cellule

Bonjour à tous.

Tout d'abord merci à la communauté qui m'a déjà énormément apporté.

En effet, je n'ai encore jamais écris mais j'utilise très régulièrement vos conseils et Macro.

Aujourd'hui est un grand jour, je rejoins la communauté !

Alors voila,

Je vous expose mon problème :

Je suis en train de créer un programme de calcul de données qui doit être extrêmement souple car il ne m'est pas destiné.

Les utilisateurs doivent alors pouvoir ajouter, modifier, bref, ce qu'ils veulent avec des conditions;

Ainsi j'ai déjà réalisé un gros travail préalable pour rendre les conditions claires et je les stocks ainsi dans une cellule excel sous cette forme :

"Cells(i,3) < 500 And Cells(i,4) < 5000"

Admettons que cette condition est stockée dans la cellule AI5.

Je souhaiterais simplement faire en sorte de réalisé une boucle de i à la fin de la série de donnée.

Le problème que je rencontre est de réussir à transposer cette condition directement dans le code VBA.

J'ai essayé avec la fonction Cbool, inefficace car il n'attend pas ce type d'expression.

Quelqu'un d'entre vous a une idée ? Je suis complètement bloqué.

Merci d'avance !

Bonjour,

Il te faut clarifier tes idées sur l'utilisation d'Excel et de VBA...

Mettre une formule dans une cellule pourra avoir un effet : résultat renvoyé par la formule...

Mettre une chaîne de caractère, a-priori aucun !

Définir une condition pour une mise en forme spécifique, s'appliquant par exemple à la plage C2:D100 :

=ET($C2<>"";$C2<500;$D2<>"";$D2<5000)

Si cette expression renvoie VRAI par exemple pour C10 et D10, C:D10 se colorera mettons en vert...

Un MFC peut répondre à l'objectif s'il s'agit de surveiller les valeurs prises par certaines cellules et d'alerter soit quand elles satisfont une condition (cas indiqué), soit quand elles n'y satisfont pas (formule à modifier en conséquence dans ce cas).

Une alerte ne suffit pas ! On veut réaliser autre chose selon que la condition est satisfaite ou non ! [Encore faut-il définir quelle action doit être alors réalisée...] On établit une surveillance sur les colonnes C et D, à partir de la ligne où commence les données : on met alors en place une macro évènementielle qui, lors d'un changement de valeur d'une cellule de la feuille, se déclenchera pour vérifier si ce changement intervient en colonne C ou D, dans la zone surveillée, si c'est le cas elle vérifie que la condition prévue soit satisfaite et , par exemple, si elle l'est la macro ne fera rien, mais si elle ne l'est pas elle interviendra soit pour le signaler, soit pour annuler l'opération, etc.

Là on aura introduit un dispositif de validation en temps réel utilisant VBA...

(à noter que l'on peut aussi obtenir un résultat comparable avec la validation des données, bloquant la saisie dès lors que la condition n'est pas satisfaite...)

Le choix de la méthode dépend du type d'action que l'on veut induire.

Autre cas de figure, on n'intervient pas à la saisie, mais un dispositif de vérification permet à l'utilisateur de s'assurer que les données saisies répondent à la condition demandée. Il peut donc après saisie actionner un bouton qui déclenchera une macro qui parcourra ses colonnes de données afin de s'assurer que la condition prévue est satisfaite, et selon qu'elle l'est ou non opèrera une action prédéfinie...

Cordialement.

Bonjour MFerrant et merci de ta réponse.

Le problème que je rencontre est le fait que le fichier doit impérativement être réinitialisé après chaque utilisation.

Grosso modo je t'explique le process :

Le fichier Réinitialiser est vide avec simplement des spécifications d'un produit dans une feuille de calcul que l'utilisateur peut utiliser à sa guise. Dans cette feuille de spécification il peut choisir de mettre des conditions d'exclusion de certaines valeurs (comme celle en exemple).

L'objectif est ensuite de venir chercher un nombre important de données (10,15.000) extraite d'un ERP. D'extraire chacune des colonne afin de réaliser des calculs sur les données (il s'agit ici d'un calcul de Cpk pour les connaisseurs).

Le soucis vient surtout du fait que la macro n'est pas la finalité de programme. Mais une étape préalable.

De plus, la mise en place des conditions doit être très aisée et utilisable pour des personnes ne connaissant pas du tout Excel ou VBA. Ainsi l'utilisation d'une formule tel que tu as cité me semble très compliqué, c'est pour cela que j'ai mis en place ce type de tableau :

1feuml

Qui permet a l'utilisateur de mettre simplement les conditions qu'il veut.

La question qui pourrait se poser serait effectivement plutôt que de retranscrire ca en code VBA comment pourrais-je faire pour le retranscrire en condition ET, OU comme tu l'as fait et ensuite bouclé sur la série de donnée.

Aurais tu une idée ?

Bien à toi

Bonjour,

Là je dois avouer que je décroche ! Une condition peut intervenir dans de nombreux cas : créer une signalétique (ce que l'on fait généralement avec des MFC), cadrer l'obtention de résultats (c'est notamment le rôle de conditions dans des formules), définir des options d'actions... (c'est l'usage général d'instructions conditionnelles en VBA).

Mais je ne vois pas trop en quoi consisterait le "stockage de conditions" !

Cordialement.

Rechercher des sujets similaires à "condition"