Simplifier un code

Bonjour a toutes et tous, forum

Je souhaiterai svp simplifier le code ci-dessous mais a je n'arrive pas a coder correctement pour éviter le répètitif

de cette manière ci-dessous, ca passe a chaque fois tous les tests en revue et cela fait clignoter l'écran, très désagréable.

Donc je souhaiterai sortir quand le test est vrai bien sur.

Exemple: Si Col=6 alors on efface la cellule E20 et la on sort, mais moi ca continue.

j'espère m'etre bien expliquer.

If Col = 4 Then [O20].Value = ""
If Col = 5 Then [D20].Value = ""
If Col = 6 Then [E20].Value = ""
If Col = 7 Then [F20].Value = ""
If Col = 8 Then [G20].Value = ""
If Col = 9 Then [H20].Value = ""
If Col = 10 Then [I20].Value = ""
If Col = 11 Then [J20].Value = ""
If Col = 12 Then [K20].Value = ""
If Col = 13 Then [L20].Value = ""
If Col = 14 Then [M20].Value = ""
If Col = 15 Then [N20].Value = "": Col = 4

Je vous remercie d'avance de votre temps et bonne semaine.

Raymond

Bonjour

Une idée (pas la seule)

Select Case col
  Case 4
    [O20] = ""
  Case 5
    [D20] = ""
  ' Etc ....
  '
  '
End Select

Salut Banzai64

Merci de ta réponse c'est sympa, j'ai essayer ton code cela fonctionne mais le résultat est identique a mon code

on ne sort pas du code quand le test est vrai comme citer dans mon exemple.

Donc je retourne chercher une solution si il y a.

bonne journée

Raymond

Bonjour,

Une macro commence par Sub... et se termine par End Sub.

Une bonne habitude à prendre est de fournir le texte de toute la macro. ça évite de perdre son temps en supposition...

Si c'est seulement le clignotement qui t'embête, mets

Application.ScreenUpdating = False

Au début de ta macro.

Si ça pose problème ou s'il y a d'autres arrières pensées à ta question, on revient à ma première observation : Mettre la macro dans son intégralité

A+

Salut

merci pour la réponse

effectivement tu a raison mais mon programme est quelque peu compliqué et assez volumineux, voir tordu mais ca marche bien quand mème a part !!!!

bon sinon ca fonctionne mais ca effectue toujours les 12 tests, le programme fait bien le test mais ne sort pas

Je continue de chercher, c'est pas grave.

Raymond

Bonjour

eliot raymond a écrit :

mais ca effectue toujours les 12 tests

Pas trop d'accord avec toi

Le code teste les valeurs avant de trouver la bonne valeur ensuite les autres tests de ne se font pas

Exemple si Col = 6

Teste 4

Teste 5

Teste 6 --> Ok : Fin des tests

Fournis au minimum la macro complète

Bonjour à tous,

Comme dit galopin, faudrait voir la macro complète, et savoir ce qu'est la variable "Col"

ici, je suppose que Col = la colonne active

Sub essai()
Dim Col%, i$
    Col = ActiveCell.Column
    Select Case Col
        Case Is = 4, 15: i = [O20].Address
        Case Is = 5: i = [d20].Address
        Case Is = 6: i = [e20].Address
        Case Is = 7: i = [f20].Address
        Case Is = 8: i = [g20].Address
        Case Is = 9: i = [h20].Address
        Case Is = 10: i = [i20].Address
        Case Is = 11: i = [j20].Address
        Case Is = 12: i = [k20].Address
        Case Is = 13: i = [L20].Address
        Case Is = 14: i = [m20].Address
        Case Else: Exit Sub
    End Select
    Range(i) = ""
End Sub

Bonne journée

Claude

Salut Claude

Désoler mais mon fichier est trop important et ca va etre un vrai bazard

Merci pour ta réponse

serai t'il possible svp de faire pareil que ta macro sans avoir a appeler celle ci, ca m'arrangerai bien

merci et bonne après midi

je vais tout de meme réessayer cette après midi avec appel de la macro

Raymond

Salut a toutes et tous, forum

Bon ca fonctionne, merci de votre aide, j'ai revu une partie de mon fichier et la c'est bon ca marche bien.

Bon W-end a tous

Raymond

Rechercher des sujets similaires à "simplifier code"