Probleme avec la boucle if

dss

XLDnaute Occasionnel
Bonsoir le forum,

Je souhaite réaliser des conditions lors de la saisie dans un tableau sur 5 colonnes :de H à M et pour chaque ligne avant de valider la saisie.

3 cas peuvent se présenter :

1) Si la cellule de la colonne H est vide alors aucune saisie sur les cellules des colonnes I à M ou effacées la saisie existante.

2) Si la cellule de la colonne H est égale à "OUI" et cellules colonnes I et J saisies alors cellules colonnes K et L vides ou effacées ; inversement si cellules des colonnes K et L saisies alors cellules colonnes I et J vides ou effacees.

3) Si la cellule de la colonne H est égale à "NON" , même traitement que lorsque la cellule est egale à "OUI" (cf ligne ci-dessus) avec en plus le fait que la cellule de la colonne M doit être dans ce cas toujours vide ou effacée.

La priorité doit être donnée a chaque nouvelle saisie.

J'ai bien essayé mais sans succes toutes les cellules sont effacées :
If VColH = "" Then Range("I" & Target.Row & ":N" & Target.Row).ClearContents
If VColH = "OUI" And VcolI <> "" And VcolJ <> "" Then Range("K" & Target.Row & ":L" & Target.Row).ClearContents
If VColH = "OUI" And VcolK <> "" And VColL <> "" Then Range("I" & Target.Row & ":J" & Target.Row).ClearContents
If VColH = "NON" And VcolI <> "" And VcolJ <> "" Then Range("K" & Target.Row & ":L" & Target.Row, "M" & Target.Row).ClearContents
If VColH = "NON" And VcolK <> "" And VColL <> "" Then Range("I" & Target.Row & ":J" & Target.Row, "M" & Target.Row).ClearContents

Débutant,je ne connais pas l'écriture du code de ce test conditionnel.

Vous remerciant par avance de votre aide

Cordialement

dss
 

dss

XLDnaute Occasionnel
Re : Probleme avec la boucle if

Bonjour le forum,

Je m'aperçois que dans mon message précédent, j'ai oublié de vous indiquer à quoi correspondent les variables :

lig = Target.Row
VColA = Range("A" & lig).Value
VColB = Range("B" & lig).Value
VColC = Range("C" & lig).Value
VColD = Range("D" & lig).Value
VColE = Range("E" & lig).Value
VColF = Range("F" & lig).Value
VColG = Range("G" & lig).Value
VColH = Range("H" & lig).Value
VcolI = Range("I" & lig).Value
VcolJ = Range("J" & lig).Value
VcolK = Range("K" & lig).Value
VColL = Range("L" & lig).Value
VColM = Range("M" & lig).Value
VColN = Range("N" & lig).Value
VColO = Range("O" & lig).Value

J'ai essayé le code fourni dans mon premier message pour les procédures événementielles Worsheet_change et Worksheet_SelectionChange

Et je n'ai obtenu aucun résultat probant.

Tout ça peut paraître un peu fastidieux alors qu'au départ j'ai besoin de connaitre quel type de procédure événementielle je dois utiliser pour effacer sur la ligne et la colonne concernée la valeur saisie en colonne I si je veux saisir en colonne K et vice versa.

Merci par avance de votre aide

Cordialement

dss
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 349
Membres
103 526
dernier inscrit
HEC