Supression de ligne sur évèmenent _change
sia72
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
Uryon Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
Uryon Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre actuellement un soucis au niveau d'une procédure située dans l'évènement _change d'une feuille Excel.
Je souhaiterai par ce code que si l'utilisateur supprime une donnée située dans la colonne A (au minimum a la ligne 11), tout la ligne où se situe la donnée soit également supprimée.
Voici le code que j'ai actuellement réalisé :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = "1" And Target.Row >= "11" And Target.Value = "" Then
ActiveCell.EntireRow.Clear
End If
End Sub
Cela me met une erreur de type 13: Incompatibilité de type
Or lorsque je choisis d'arrèter le script le reset de la ligne a bien été effectué.
Quelqu'un pourrait il m'éclairé sur un moyen pour ne plus avoir cette erreur svp?
Merci !
Cordialement
Je rencontre actuellement un soucis au niveau d'une procédure située dans l'évènement _change d'une feuille Excel.
Je souhaiterai par ce code que si l'utilisateur supprime une donnée située dans la colonne A (au minimum a la ligne 11), tout la ligne où se situe la donnée soit également supprimée.
Voici le code que j'ai actuellement réalisé :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = "1" And Target.Row >= "11" And Target.Value = "" Then
ActiveCell.EntireRow.Clear
End If
End Sub
Cela me met une erreur de type 13: Incompatibilité de type
Or lorsque je choisis d'arrèter le script le reset de la ligne a bien été effectué.
Quelqu'un pourrait il m'éclairé sur un moyen pour ne plus avoir cette erreur svp?
Merci !
Cordialement
A voir également:
- Supression de ligne sur évèmenent _change
- Partage de photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Formulaire en ligne de meta - Guide
- Site de vente en ligne particulier - Guide
4 réponses
Une incompatibilité de type en général c'est un problème de guillemets, tu as essayé d'enlever les guillements autour du 1 et du 11 ? (Et peut être que tu devrais rajouter une condition isnull avec le = "" ?
Merci de ta réponse,
Le problème est sur le test de la valeur et non autour du 1 et du 11.
Suite a ton message j'ai testé de faire le test avec Target.Value is null, sauf que ce test est fonctionnel pour les objets et ne fonctionne apparament pas pour ce type de test... Une autre idée peut etre?
Merci
Le problème est sur le test de la valeur et non autour du 1 et du 11.
Suite a ton message j'ai testé de faire le test avec Target.Value is null, sauf que ce test est fonctionnel pour les objets et ne fonctionne apparament pas pour ce type de test... Une autre idée peut etre?
Merci
Bonjour,
normalement target.column et row se sont des nombres ex: 1 et 11 pas des chaines de caracteres. Mais ca passe quand meme avec "1" et "11".
Votre probleme est lie a la recursivite provoquee par la raz des cellules de la ligne, pour empecher ceci il faut invalider les evenement excel au debut et les valider a la fin du module
Bonne suite
normalement target.column et row se sont des nombres ex: 1 et 11 pas des chaines de caracteres. Mais ca passe quand meme avec "1" et "11".
Votre probleme est lie a la recursivite provoquee par la raz des cellules de la ligne, pour empecher ceci il faut invalider les evenement excel au debut et les valider a la fin du module
Private Sub Worksheet_Change(ByVal Target As Range) 'invalide les evenements excel Application.EnableEvents = False If Target.Column = "1" And Target.Row >= "11" And Target.Value = "" Then 'raz de la ligne ou la cellule a ete selectionnee Target.EntireRow.Clear End If 'valide les evenements excel Application.EnableEvents = True End Sub
Bonne suite