Conditions sur cellules

Résolu
lagodille Messages postés 99 Statut Membre -  
gildautal Messages postés 16 Statut Membre -
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

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    0
    1. lagodille Messages postés 99 Statut Membre 4
       
      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
      0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    0
  3. gildautal Messages postés 16 Statut Membre 3
     
    bonsoir

    la remarque est notoire on ne fait jamais assez attention et souvent la réponse est sous nos yeux
    0
  4. gildautal Messages postés 16 Statut Membre 3
     
    bonsoir

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