Erreur dans macro exécuté sur simple modification d'une cellule

Bonjour la communauté,

Pour simplifier la situation, je souhaite ajouter une ligne dans un tableau (voir fichier exemple) une fois que la colonne PRENOM est complétée ; j'ai saisi un code vba classique pour que l'opération s'exécute automatiquement une fois la cellule complétée, mais j'ai un message d'erreur. Je suppose qu'insérer une ligne a des conséquences sur la colonne PRENOM, ce qui génère le message d'erreur, mais comment l'éviter ?

Merci d'avance,

Philippe

Bonjour,

La saisie en colonne B déclenche la Private Sub Worksheet_Change qui lance Sub AJOUT_LIGNE_VIERGE() qui insère une ligne, ce qui déclenche la Private Sub Worksheet_Change qui ne sait pas gérer la Target.Value d'une ligne complète.

Pour éviter le redéclenchement de la Private Sub Worksheet_Change, insérer dans la Sub AJOUT_LIGNE_VIERGE() :

en début de sub : Application.EnableEvents = False

et en fin : Application.EnableEvents = True

A+

bonjour,

En général toutes les macros avec des select génèrent des erreurs d'exécution ou/et des ralentissements importants :

La première chose est donc de les supprimer (les selects...) et/ou optimiser la macro

et moi personnellement au lieu de manipuler EnableEvents qui produit également très souvent d'autres plantages je verrai plutot un :

If Target.Count = 1 then

au début de Worksheet_Change... Si c'est possible !)

A+

merci à tous les deux, la méthode d'Algoplus fonctionne

Rechercher des sujets similaires à "erreur macro execute simple modification"