Nom d'une cellule nommée qui disparaît

criscris11

XLDnaute Accro
Bonsoir à tous,
Voici un code qui me pose un petit problème :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > Range("Debut").Row And Target.Row < Range("Fin2").Row Then
    If Range("Fin2").Row > 170 Then
        ActiveSheet.Range("A175").EntireRow.Delete
    End If
    ActiveWorkbook.Names.Add Name:="Fin2", RefersToR1C1:="=Liste batterie!R170C1"
End If
If Target.Row > Range("Debut").Row And Target.Row < Range("Fin1").Row Then
    If Range("Fin1").Row < 165 Then
        ActiveSheet.Range("A175").EntireRow.Insert Shift:=xlDown
    End If
    ActiveWorkbook.Names.Add Name:="Fin1", RefersToR1C1:="=Liste batterie!R165C1"
End If
End Sub
Cet événement se déclenche à chaque fois que j'insère ou supprime une lignes dans 3 onglets de mon fichier dont voici les codes :
Code:
Sub insert_lig()
    Application.ScreenUpdating = False
    Sheets(Array("Liste batterie", "Absences", "Feuille des présents")).Select
    Sheets("Liste batterie").Activate
    Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select
    Selection.Insert Shift:=xlDown
    Application.ScreenUpdating = True
End Sub
Sub suppr_lig()
    Application.ScreenUpdating = False
    Sheets(Array("Liste batterie", "Absences", "Feuille des présents")).Select
    Sheets("Liste batterie").Activate
    Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select
    Selection.Delete
    Sheets("Liste batterie").Select
    Application.ScreenUpdating = True
End Sub
Hors les deux cellules nommées (Fin1 et Fin2) ne sont pas renommées comme le prévoit la macro pourtant elles figurent bien et en bonne place dans Insertion, Nom, Définir.
Dernière chose, ces codes sont issus d'un fichier qui avait réalisé sur le forum et ce fichier fonctionne très bien : je poste les deux fichiers afin de voir une différence éventuelle.

Si quelqu'un a une autre proposition, pas de problème : le but est que si l'une des 2 macros Sub insert_lig() ou Sub suppr_lig() est lancée, on insère ou supprime une ligne de façon à ce que toutes lignes à partir de 180 ne bougent jamais (filtre élaboré par macro).
 

Pièces jointes

  • Insertion, suppression liste batterie.zip
    9 KB · Affichages: 32
  • Gestion des absences.zip
    192.3 KB · Affichages: 32
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Nom d'une cellule nommée qui disparaît

Bonjour CrisCris,

Je te précise également que ta macro évènementielle se déclenche n fois pendant l'exécution du code que je t'ai transmis : c'est pour ça que ça me fatiguait;).
Donc si tu veux améliorer un chouia les performances temps de traitement fais peut-être ceci (non testé):
Code:
            [COLOR=Blue]Application.EnableEvents = False[/COLOR]
            Col = .Range("IV2").End(xlToLeft).Column
            Set Plage = .Range(.Cells(Lig, "A"), .Cells(Lig, Col))
            For Each Cel2 In Plage
               If Cel2.HasFormula = False Then Cel2.ClearContents
            Next
            [COLOR=Blue]Application.EnableEvents = True[/COLOR]
        End With
    Next
Application.ScreenUpdating = True
plutôt que d'enlever complètement ces instructions.

Cordialement
 

criscris11

XLDnaute Accro
Re : Nom d'une cellule nommée qui disparaît

Re,
Je viens de tester : je ne sais pas si cà change beaucoup mais je garde les modifs dans le code suivant tes conseils.
Allez une cerise sur le gâteau qui ne serait pas de refus : à la fin du code, la cellule active est positionnée sur la colonne B de la nouvelle ligne mais je la voudrait bien sur la colonne A :D.
Ne réponds pas tout de suite, je vais essayer de décortiquer le code afin d'essayer de trouver tout seul : si dans 10 minutes, je n'ais pas trouvé je ferais un petit up ;).
Merci et bonne journée.
 

Spitnolan08

XLDnaute Barbatruc
Re : Nom d'une cellule nommée qui disparaît

Re,

Au cas où tu ne saurais pas faire une solution basique (Encre sympathique;)):

For Each Cel2 In Plage
If Cel2.HasFormula = False Then Cel2.ClearContents
Next
.Cells(Lig, "A").Select


Tu n'auras qu'à le réveler lorsque tu le souhaitera!

Bonne journée
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 506
Messages
2 089 121
Membres
104 038
dernier inscrit
Helpme59