5 réponses
Bonjour,
Pourquoi ne pas laisser la possibilité de faire une sélection multiple et simplement gérer l'erreur, il suffit en début de code insérer cette ligne
On Error Resume Next
Pourquoi ne pas laisser la possibilité de faire une sélection multiple et simplement gérer l'erreur, il suffit en début de code insérer cette ligne
On Error Resume Next
Re,
Tu peux joindre ton fichier sans note confidentielle que je vois, avec ce lien
https://www.cjoint.com/
Tu peux joindre ton fichier sans note confidentielle que je vois, avec ce lien
https://www.cjoint.com/
Bonjour,
Cela ne répond pas exactement à la question mais pour résoudre le problème je pense qu'il est préférable de supprimer la cause de l'erreur et aussi de pouvoir écrire ou effacer plusieurs X à la fois.
Nota : Pour écrire (et donc masquer) sur plusieurs lignes à la fois, sélectionner la plage de la colonne K, saisir X (sans dé-sélectionner) puis valider par Maj+Ctrl+Entrée
Cela ne répond pas exactement à la question mais pour résoudre le problème je pense qu'il est préférable de supprimer la cause de l'erreur et aussi de pouvoir écrire ou effacer plusieurs X à la fois.
Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range If Target.Column <> 11 Then Exit Sub If Target.Columns.Count > 1 Then Exit Sub If Intersect(Target, UsedRange) Is Nothing Then Exit Sub For Each c In Intersect(Target, UsedRange).Cells If UCase(c.Value) = "X" Then c.EntireRow.Hidden = True Cells(c.Row + 1, 11).Select End If Next c End Sub
Nota : Pour écrire (et donc masquer) sur plusieurs lignes à la fois, sélectionner la plage de la colonne K, saisir X (sans dé-sélectionner) puis valider par Maj+Ctrl+Entrée
Re,
l'erreur est normale, le code prévoit le déclenchement à la cellule Target, tu sélectionne plusieurs cellules Excel ne comprend pas et se met en erreur cette ligne de code en début des deux codes doit supprimer l'erreur
On Error Resume Next
si cela ne suffit pas il est possible de gérer l'erreur d'une autre façon
l'erreur est normale, le code prévoit le déclenchement à la cellule Target, tu sélectionne plusieurs cellules Excel ne comprend pas et se met en erreur cette ligne de code en début des deux codes doit supprimer l'erreur
On Error Resume Next
si cela ne suffit pas il est possible de gérer l'erreur d'une autre façon
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Une proposition qui traite la plage modifiée (en suppression ou en ajout avec Shift+Ctrl+Entrée):
Mais il te faut également une macro qui remasque les X non effacés sur la colonne puisqu'ils ne sont pas concernés par l'évènement change :
Tu pourrais ne faire qu'un seul bouton qui alternativement affiche tout ou masque.
https://www.cjoint.com/?CFDnZUAycbv
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Une proposition qui traite la plage modifiée (en suppression ou en ajout avec Shift+Ctrl+Entrée):
Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range If Target.Column <> 11 Then Exit Sub For Each c In Target c.EntireRow.Hidden = UCase(c) = "X" Next c End Sub
Mais il te faut également une macro qui remasque les X non effacés sur la colonne puisqu'ils ne sont pas concernés par l'évènement change :
Private Sub CommandButton2_Click() Dim lig As Long Application.ScreenUpdating = False For lig = 2 To Cells(Rows.Count, "K").End(xlUp).Row If UCase(Cells(lig, "K")) = "X" Then Rows(lig).Hidden = True Next lig Application.ScreenUpdating = True End Sub
Tu pourrais ne faire qu'un seul bouton qui alternativement affiche tout ou masque.
https://www.cjoint.com/?CFDnZUAycbv
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Merci !
En fait quand j'utilises mon bouton pour afficher toutes les lignes, toutes les lignes s'affichent, je vois bien les x... et au moment où je fais la sélection des "x" puis appuie sur Supp, les "x" se suppriment mais les lignes (où il y avait des "x") se masque à nouveau ! Je ne comprends pas...