Macro: modification de test?

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JJ1

Guest
Bonsoir Le Forum,
je voudrais votre avis sur un test de cellule:
actuellement:
If Cel(..).Value = "toto" or Cel().Value = "titi" Or Cel().Value = "tutu" Then commande

Si je mets les valeurs à tester hors du champ du résultat de la macro, en Feuille 1 par exemple, colonne AA:
AA1: toto
AA2: titi
AA3: tutu
comment alors transformer la macro en:
If Cel().Value "contient un des éléments de la plage AA1:AA3" Then Commande
Merci de vos idées.
Bonne soirée
 
Re : Macro: modification de test?

Salut JJ1,
Avec une boucle du genre :

for each cell in range("AA:AA")
tes tests, et leur réponse, même des goto ou des exit for,
next cell

Tu peux remplacer la range par in nom que qu auras défini avant, ou quelque chose de plus précis.

Avec un exemple, c'eût été plus zézé...

A plus
Gruick
 
Re : Macro: modification de test?

Bonsoir,
j'ai pas très bien compris?
Si je fais à la suite sur une ligne de commande une dizaine de tests OR, je voudrais n'en faire qu'un seul en mettant tous mes "codes" à tester dans une plage et j'écris : If cel().Value "contient un des codes de la plage AA1:AA10 (par ex) Then...
Ca simplifie la macro?
merci
Bonne soirée
 
Re : Macro: modification de test?

Précision:
Ce que je voudrais faire , c'est créer une sorte de table (comme on faisait avec DBase) et ensuite se reférer à la base pour le test unique:
cellule AA1:AA10 contient mes noms
j'écris:
If cel( ).value = "un nom présent dans la plage" Then....
Est ce plus compréhensible?
merci encore
Bonne soirée
 
Re : Macro: modification de test?

Bonjour JJ1,
Plus tu expliques, moins je comprends.
Alors, comme dit le vieil adage (que j'ai personnellement connu),
"Un bon dessin vaut mieux qu'un long discours"
Donc, je t'invite derechef à joindre une ébauche, avec explications et resultat souhaité.
Sinon, je crains que personne ne s'intéresse à ton problème.
A bientôt j'espère,
Gruick
 
Re : Macro: modification de test?

bonjour à tous

Quand je dois tester une cellule avec une liste prédéfinie, afin d'éviter une succession de if then, j'utilise application.match.

je stocke la liste dans un tableau variant puis je teste ma cellule avec le tableau.

exemple :

liste prédéfinit en d1:d5
liste à tester en A1:A10

code :

Code:
Dim atester
Dim c As Range

atester = Range("d1:d5")

For Each c In Range("a1:a10")
    If Not IsError(Application.Match(c, atester, 0)) Then
        c.Offset(0, 1) = "ok"
    Else
        c.Offset(0, 1) = "not ok"
    End If
Next c

le iserror permet de savoir si la valeur existe ou pas dans la liste.

si elle n'existe pas le code bug, on utilise ce bug par le iserror.

en espérant avoir été utile

salut
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
9
Affichages
1 K
V
Réponses
1
Affichages
2 K
gig83500
G
Réponses
3
Affichages
1 K
J
Réponses
3
Affichages
1 K
Janis
J
M
  • Question Question
Réponses
4
Affichages
1 K
Makovitch
M
A
Réponses
3
Affichages
1 K
AppleDance
A
Retour