Conditions sur cellules

Résolu
lagodille Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -  
gildautal Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -
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

4 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
lagodille Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
gildautal Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   3
 
bonsoir

la remarque est notoire on ne fait jamais assez attention et souvent la réponse est sous nos yeux
0
gildautal Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   3
 
bonsoir

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