Active Macro lors d'une fermeture

Stéphanie82

XLDnaute Nouveau
Bonjour

J'ai une petite question en macro.
J'essaye de renomer une plage de cellule automatiquement dès lors que je ferme une feuille de calcul.

Je ne vois ou est le problème dans mon code.

Mes deux idées de code :

Code:
Private Sub UserForm_Terminate()
Dim O1Down

Set O1Down = Range("O1").End(xlDown)
O1Down.Name = "PLAGE"
Range("A1:PLAGE").Select

Selection.Name = "Contacts"

ActiveWorkbook.Names("PLAGE").Delete
End Sub

2eme code

Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim O1Down

Set O1Down = Range("O1").End(xlDown)
O1Down.Name = "PLAGE"
Range("A1:PLAGE").Select

Selection.Name = "Contacts"

ActiveWorkbook.Names("PLAGE").Delete
End Sub
 

wilfried_42

XLDnaute Barbatruc
Re : Active Macro lors d'une fermeture

Bonjour et Bienvenue

essaye ce code et dis nous

Code:
    Dim plage As Range
    Set plage = Range("O1:O" & Range("O65536").End(xlUp).Row)
    On Error Resume Next ' si le nom n'exite pas erreur
    Application.Names("contacts").Delete ' destruction du nom
    On Error GoTo 0 ' rend le getionnaire d'erreur à excel
    Application.Names.Add "contacts", RefersTo:=plage
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Active Macro lors d'une fermeture

Bonjour Stéphanie, bonjour le forum,

je te propose le code suivant sur l'événement BeforeClose du classeur :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim O1Down As Long 'déclare la variable O1down
O1Down = Range("O1").End(xlDown).Row 'définit la variable O1down
Range("A1:O" & O1Down).Name = "Contacts" 'nomme la plage
Range("Contacts").Clear 'efface la plage
ActiveWorkbook.Save 'sauve le classeur
End Sub

Édition :
Ho la la ! pas frais sur ce coup là ! Boujour Astralon, Wilfried
 

Stéphanie82

XLDnaute Nouveau
Re : Active Macro lors d'une fermeture

Merci pour vos propositions clair et précis
Egalement pour votre acceuil.

j'ai finalement opté sur la proposition de Robert en enlevant les lignes :

Range("Contacts").Clear 'efface la plage
ActiveWorkbook.Save 'sauve le classeur

Bonne journée a tous

^^
 

Discussions similaires

Réponses
6
Affichages
162

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux