Executer Worksheet_Change qu'a la fin ...

  • Initiateur de la discussion Initiateur de la discussion carlos
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

carlos

XLDnaute Impliqué
Bonsoir au forum

J'ai une feuille excel qui execute cette macro a chaque changement de valeur de cellule de la plage ci dessous.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range('d4:d57, f4:f57, l4:n57, l4:n57')) Is Nothing Then

MacroAExecuter

end sub


Je dois copier cette feuille et effacer les valeurs contenues dans la plage pour pouvoir en saisir de nouvelles.

Le probleme est que Worksheet_Change s'execute à chaque fois qu'une cellule est effacée, ce qui est tres tres lonnnnnnnnnnnng.

Est il possible de n'executer Worksheet_Change qu'une fois la copie effectuée et que toutes les cellules seront éffacées ??????

Merci

Carlos
 
Bonsoir Carlos, bonsoir le forum,

Je te propose de rajouter une ligne de code (plutôt deux) à ta macro :


Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range('d4:d57, f4:f57, l4:n57, l4:n57')) Is Nothing Then

If Target.Value = '' Then Exit Sub 'si la cellule est éffacée, sort de la procédure
MacroAExecuter
End If 'sans ce End If ta propre macro devait buger...
End sub

Message édité par: Robert, à: 21/10/2005 22:13
 
Bonjour Robert
Bonjour le forum

Ta proposition me renvoit un message d'erreur dès la premiere cellule éffacée :

Erreur 13 , incompatibilité de type sur: If Target.Value = ''

Serait il possible de supprimer carrement ce code de la feuille Vba , le temps que je copie , éfface .
Puis de le Recoller..??

Merci

Carlos
 
Bonjour Carlos, bonjour le forum,

Je ne comprends pas pourquoi ce bug, en tous cas chez moi je ne l'ai pas (Windows XP et Office 2003).

Tu peux ouvrir ton classeur sans Activer les macros, faire ton copier/coller, sauver, fermer ton classeur, puis le rouvrir en Activant les macros.
 
Bonjour Robert , Bonjour le forum


Tu as raison Robert car j'ai testé sur un fichier vierge et ta proposition fonctionne à merveille.

pour contourner mon probleme j'ai rajouté en debut de procedure et j'en suis pas fier :

on error resume next

et ca semble ok

Merci Robert

Carlos
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
Réponses
1
Affichages
1 K
Lucien31
L
L
Réponses
3
Affichages
3 K
N
X
Réponses
3
Affichages
2 K
Xtian (du Québec)
X
Retour