Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Déclaration change dans feuille excel

  • Initiateur de la discussion Initiateur de la discussion Lu K
  • 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 !

Lu K

XLDnaute Occasionnel
Bojour à toutes et à tous,

Connaisant votre rapidité et votre savoir, je me permet de faire encore appel à vous !

Je créer une feuille excel ou certaines colonnes agissent avec les déclaration "Worksheet_Change" ou "Worksheet_BeforeDoubleClick". Mes déclaration "change" servent par exemple à faire des calcul
exemple :
ligne = Target.Row
Cells(ligne, 7) = Cells(ligne, 4) * Cells(ligne, 5) * Cells(ligne, 6)

Mon problème et lors de copié - coller, insertion ou suppression de ligne dans la feuille. Dès que j'utilse ces fonctions : Ca bug !

Avez vous une solution pour ce type de problème ?

Merci d'avance.
 
Re : Déclaration change dans feuille excel

Bonjour Lu K,
Peut être avec :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
ligne = Target.Row
Cells(ligne, 7) = Cells(ligne, 4) * Cells(ligne, 5) * Cells(ligne, 6)
End Sub
Cordialement
 
Re : Déclaration change dans feuille excel

Bonjour Lu K, Efgé, bonjour le forum,

Il faut se méfier de l'événement Change car si dans celui-ci tu modifies une autre cellule il se met à boucler et parfois ça plante. On peut éviter ça en utilisant Application.EnableEvents = False en début de code et réinitialissant en fin de code avec Application.EnableEvents = True.
Je n'aime pas cette méthode car si la macro plante avant de repasser par le True (si j'ose dire...), les macros événementielles sont alors désactivées.
J'utilise plutôt ce genre de code :
Code:
Private test As Boolean 'déclare la variable test
 
Private Sub Worksheet_Change(ByVal Target As Range)
If test = True Then Exit Sub 'si la variable test est vrai, sort de la procédure
test = True 'définit la variable test
'suite du code
'...
'...
test = False 'réinitialise la variable test
End Sub
Pour t'aider davantage il faudrait que tu nous signales quelle ligne plante et à quel moment...
 
- 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

Réponses
3
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…