J'ai dans une cellule (G14) une liste de "STATUT", en validation des données :
"INSCRIT"
"EN COURS"
"CIT"
Je voudrais que
si dans la cellule le terme "INSCRIT" ou "EN COURS" les lignes 11&12 sont masqués
si dans la cellule le terme "CIT" les lignes 11&12 sont visibles
Mon code actuel
Code:
Private Sub TEST()
statut = range("g14")
if statut ="CIT" then
rows("11:12").hidden = false
elseif statut ="INSCRIT" or statut ="EN COURS "then
rows("11:12").hidden = true
end if
end sub
Le code masque les lignes quand le statut "INSCRIT" ou "EN COURS" est sélectionné mais quand le STATUT "CIT" est sélectionné quand les lignes sont masqués ça ne fonctionne pas.
J'ai trouvé le problème, il faut rajouter un espace à INSCRIT et CIT le code est :
VB:
Private Sub TEST()
statut = range("g14")
if statut = "CIT " then
rows("11:12").hidden = false
elseif statut = "INSCRIT " or statut ="EN COURS "then
rows("11:12").hidden = true
end if
end sub
J'ai un autre problème ma liste est dans une cellule fusionnée (d8:e9), mon code fonctionne sur une cellule simple mais pas sur fusionnée.
Pour la cellule fusionnée (d:8e9), il faut noter range("d8"), désolé je débute.
VB:
Private Sub TEST()
statut = range("d8")
if statut = "CIT " then
rows("11:12").hidden = false
elseif statut = "INSCRIT " or statut ="EN COURS "then
rows("11:12").hidden = true
end if
end sub
Bonjour Paillou,
Ne vous laissez pas piéger par des espaces, cela vous fera perdre toujours du temps.
Utilisez la fonction TRIM qui supprime automatiquement les espaces, comme :
VB:
Private Sub TEST()
statut = range("d8")
if Trim(statut) = "CIT" then
rows("11:12").hidden = false
elseif Trim(statut) = "INSCRIT" or statut ="EN COURS" then
rows("11:12").hidden = true
end if
end sub