Empêcher une macro lors d'une suppression

Aimedjie

XLDnaute Occasionnel
Bonjour,

J'ai créé une macro qui copie des formules lorsqu'une nouvelle ligne est utilisée. Par contre, j'ai un problème lorsque je veux supprimer des lignes. Effectivement, lorsque je supprime une ligne, la macro considère qu'il s'agit d'une nouvelle ligne et colle les formules, mais je veux supprimer la ligne sans coller les forumles. Voici ma macro :

Option Explicit

'Variable pour activer/désactiver l'événement Change
Public booChangeActif As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)

'==========================================================================
'Coller les formules originales si une nouvelle ligne est utilisée.
'--------------------------------------------------------------------------
'booChangeActif : Variable qui indique s'il y a une macro en cours.
'Target : Cellule modifiée
'cellModifie : Chaque cellule modifiée
'IDcell : Numéro de la cellule dans laquelle se trouve la formule.
'nouvelleLigne : Variable indoquant s'il s'agit d'une nouvelle ligne.
'--------------------------------------------------------------------------
'==========================================================================

Dim cellModifie As Range
Dim IDcell As Long
Dim nouvelleLigne As Boolean

'Valider s'il y a déjà une macro en cours.
If Not booChangeActif Then

booChangeActif = True

'Valider si les données sont inscrites

For IDcell = 1 To 5
nouvelleLigne = True
If Not IsEmpty(Cells(Target.Row, Feuil1.Range("formule" & IDcell).Column).Value) Or _
nouvelleLigne = False Or IsEmpty(Target.Value) Then nouvelleLigne = False
Next IDcell

'Copier les formules s'il s'agit d'une nouvelle ligne.
If nouvelleLigne = True Then

For IDcell = 1 To 5
Feuil1.Range("formule" & IDcell).Copy
Feuil1.Cells(Target.Row, Feuil1.Range("formule" & IDcell).Column).Select
ActiveSheet.Paste Destination:=Selection
Application.CutCopyMode = False
Next IDcell

End If

booChangeActif = False

End If

End Sub


Pouvez m'aide à modifier ma macro pour me permettre de supprimer des ligne sans qu'elle colle mes formules?

Merci.
 

JNP

XLDnaute Barbatruc
Re : Empêcher une macro lors d'une suppression

Bonjour Aimedjie :),
J'ai créé une macro qui copie des formules lorsqu'une nouvelle ligne est utilisée. Par contre, j'ai un problème lorsque je veux supprimer des lignes. Effectivement, lorsque je supprime une ligne, la macro considère qu'il s'agit d'une nouvelle ligne et colle les formules, mais je veux supprimer la ligne sans coller les forumles.
Si je te lit bien, ta macro se déclenche quand tu valides une cellule, et tu souhaites qu'elle ne se déclenche pas quand tu supprimes des lignes, donc quand ce sont des lignes qui sont sélectionnées.
Donc en début de macro
Code:
If Target.Count > 1 Then Exit Sub
devrait faire l'affaire.
Bonne journée :cool:
 

Discussions similaires

Réponses
3
Affichages
518

Statistiques des forums

Discussions
312 198
Messages
2 086 114
Membres
103 121
dernier inscrit
SophieS