Conditions sur cellules

Résolu
Bonjour,

http://www.cijoint.fr/cij28095225034527.xls

Comme promis voici mon fichier mais comme d’hab j’essaie de l’améliorer sans cesse et à ce propos j’ai une petite question :

Dans la feuil1 j’ai placé :

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Union([I11], [I14], [I17]), [I20], [I23], [I26], [I41], [I44], [I47], [I50], [I53], [I56]) Is Nothing Then Exit Sub

If Target.Value = "X" Then Call blanc

End Sub

La macro « blanc » doit me permettre en placant une croix dans une des cellules dédiée (I11 par exemple), d’effacer ce qui se trouve de part et d’autre de cette cellule (cad dans l’exemple que j’ai pris donc avec I11 ,
Range("E11:H13").Select
Selection.ClearContents
Range("j11:M13").Select
Selection.ClearContents

Je ne sais vraiment pas comment m’y prendre pour faire quelque chose de simple et efficace

le résultat escompté est visuellement dans l'opération 8 du tableau

merci d'avance pour votre aide
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. bonsoir

    Autant pour moi , je n'avais pas vu.
    merci pour les infos
    et bonne soirée
    1. bonsoir

      la remarque est notoire on ne fait jamais assez attention et souvent la réponse est sous nos yeux
      1. Contributeur
        Bonsoir,

        Sois plus rigoureux quand tu écris, et fais un pas à pas quand ça ne marche pas pour voir pourquoi.
        Tu peux utiliser les espions aussi pour trouver les erreurs
        L'erreur n'est pas dans les 2 lignes que tu as ajouté mais dans le if

        Tu as écris:
        If Intersect(Target, Union([I11], [I14], [I17]), [I20], [I23], [I26], [I41], [I44], [I47], [I50], [I53], [I56]) Is Nothing Then Exit Sub
        remplace par:
        If Intersect(Target, Union([I11], [I14], [I17], [I20], [I23], [I26], [I41], [I44], [I47], [I50], [I53], [I56])) Is Nothing Then Exit Sub

        eric
        1. Contributeur
          Bonsoir,

          avec ce que tu donnes (2 plages 3 lignes et 4 colonnes) ça devrait être:
          target.offset(0,-4).resize(3,4).clearcontents
          target.offset(0,1).resize(3,4).clearcontents

          en passant en parametre le range target à ton sub ou bien juste ajouter ces 2 lignes et laisser tomber le sub blanc()

          eric
          1. Bonjour eric
            ci joint mon fichier http://www.cijoint.fr/cij28870434604.xls dans lequel j'ai essayé de joindre tes deux lignes en feuil1;

            si tu peux m'expliquer pour que je comprenne
            merci