Probleme avec la boucle if

  • Initiateur de la discussion Initiateur de la discussion dss
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
310
Réponses
4
Affichages
721
Réponses
8
Affichages
387
Réponses
25
Affichages
1 K
Retour