Bonjour le Forum
Je résume ma demande
A partir de la 3éme Feuille:
- Chaque feuille est constituée d'un tableau structuré identique en Nom et Nombre de colonne, la différence est uniquement le nombre de ligne.
- En Colonne D et I sont appliquées des mise en formes conditionnelles.
Je cherche a modifier
Si "I "= "O" alors
D= "O" et efface G
J'ai travaillé sur le sujet, voici ce que j'ai écrit pour chaque feuille et qui fonctionne (J'aimerai avoir l'avis du forum sur ma façon de faire)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Y As Integer
derlig = Range("I" & Rows.Count).End(xlUp).Row
For Y = 3 To derlig
'Si la colonne a partir de la 3éme ligne est égale au texte "O"
If Range("I" & 3 + Y - 3) = "O" Then
'Alors remplacer la valeur de la cellule par "O"
Range("D" & 3 + Y - 3) = "O"
'Et effacer la valeur de cellule
Range("G" & 3 + Y - 3).ClearContents
End If
Next
'Mise à jour des données
Call MJDATA
End Sub
Je suis bloqué sur 2 problèmes:
- J'aimerais pouvoir autoriser le changement en cellule I de la façon suivante
Si en D la cellule contient "N" alors je peux changer la valeur en cellule I
cela servira de blocage en cas d'erreur de saisie si la cellule G est différente de "N"
Le second,
Comment éviter de répéter le même code sur ces feuilles , je n'en ai mis que 3, mon fichier en comporte 25
Dans ThisWorkbook, il n'y a pas cet événement
Merci de votre aide
A bientôt sur le Forum