Bonjour à tous,
J'essaye d'afficher la ligne suivante de la cellule que je remplis parmi les cellules d'une plage nommée. Ma plage nommée est une colonne de 25 lignes
Si la cellule que je souhaite remplir est vide => la ligne suivante est masquée
Si j'ai rempli la cellule => j'affiche la ligne suivante
Cela me permets d'alléger un peu ma page.
J'ai donc essayé d'insérer un code dans les évènements :
Private Sub Worksheet_Change(ByVal Target As Range)
If (Not Application.Intersect(Target, Range("Plage_nommee")) Is Nothing) Then
If target.value <> "" then
Target.Offset(1, 0).EntireRow.Hidden = False
Else
Target.Offset(1, 0).EntireRow.Hidden = False
End If
End Sub
Le code marche pour une cellule, par contre si j'en sélectionne plusieurs et que j'appuie sur "del" juste pour effacer les valeurs à l'intérieur. Je m'attends à ce qu'il ne reste plus que la première ligne dans mon tableau.
Mais j'ai une erreur VBA "incompatibilité de type". Je pense que cette erreur est due au fait que mon code s'applique uniquement pour une ligne à la fois.
Il faut donc en quelque sorte que je dise :
si la sélection est nulle, masque la ligne en dessous de la sélection
si la sélection n'est pas nulle, affiche la ligne en dessous
Mais je n'arrive pas ni avec Selection ou la propriété .select
Avez-vous une idée de comment résoudre ce problème?
Merci.
Hubert41