Désactiver une macro bien précise

Bobby -  
 Bobby -
Bonjour,

Je me suis mis au macro pour les besoins du boulot, donc j'apprends un peu sur le tas.

J'ai écrit (copier coller) une macro qui permet d'effacer, à chaque ouverture d'un fichier partagé, certaine données rentrées par les utilisateurs précédents.
Le fichier excel en question, a vocation a être sauvegarder en copie perso par les utilisateurs qui le souhaitent.
J'aimerai savoir si il était possible d'écrire une macro qui permette de désactiver la macro "efface" une fois la sauvegarde perso effectuée ET uniquement dans le nouveau fichier sauvegarder de manière à ce que l'utilisateur conserve ses données. (j'espère être clair...)

Merci par avance de vos réponse

Ci dessous, la macro qui efface

Private Sub Workbook_Open()
Worksheets("Fiche").Select
Range("F23:F30").ClearContents
Worksheets("Log In").Select
Range("E14").ClearContents
Range("E11").Select

End Sub

et ci dessous, la macro qui permet à l'utilisateur de se voir proposer de sauvegarder

Sub Enregistrer()

Copie
ActiveWorkbook.Save
Worksheets("Log In").Select
Application.Dialogs(xlDialogSaveAs).Show Range("E11").Value & ".xls"

End Sub
Configuration: Windows XP
Firefox 2.0.0.16

8 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,

    Tu pourrais déjà mettre un "Drapeau" de vidage sur une cellule ?
    Private Sub Workbook_Open() 
    Worksheets("Fiche").Select 
    if cells(1,200)="" then
    cells(1,200)="Ne changer pas cette cellule"
    Range("F23:F30").ClearContents 
    Worksheets("Log In").Select 
    Range("E14").ClearContents 
    Range("E11").Select 
    end if
    End Sub 


    Et ta macro copier.. Elle fonctionne ????
    A+
    0
  2. Bobby
     
    Bonjour lermite222,

    Désolé de répondre aussi tard, mais je viens de me rendre compte que la ré^ponse que j'avais posté hier ne s'était pas correctement enregistrée.

    Je ne suis pas sur que la méthode que tu proposes permette d'arriver au résultat désiré.
    J'ai changé de stratégie, en posant une condition sur le nom du fichier... mais je crois que ma condition est mal écrite.

    Si quelqu'un peut m'éclairer sur l'utilisation du "FileName" dans les macros, je lui en serait très reconnaissant.

    Ci dessous la macro modifiée

    Private Sub Workbook_Open()
    Application.ScreenUpdating = False

    Worksheets("Log In").Select
    If ActiveWorkbook.Filename = "Tarifs 2009 travail EPLE" Then

    Worksheets("Fiche").Select
    Range("F23:F30").ClearContents
    Worksheets("Log In").Select
    Range("E14").ClearContents
    Range("E11").Select
    Else
    Worksheets("Log In").Select
    Range("E11").Select
    End If
    Application.ScreenUpdating = True
    End Sub
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    "Tarifs 2009 travail EPLE.XLS"

    0
  4. Bobby
     
    Salut

    j'ai rajouté le .xls mais ça n'a pas l'air de lui faire ni chaud ni froid...la macro plante toujours au niveau de la condition.
    est ce que la ligne de code ActiveWorkbook.FileName = ... veut bien dire quelques chose?

    merci en tout cas de ton assistance
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    essaye avec ThisWoorkbook.name
    ou ActiveWorkbook.name
    Remarque: si le classeur n'a pas encore été sauve (n'existe pas sur le DD) faut pas mettre XLS sinon.. Faut le mettre

    Tu peu aussi tester si c'est dans le même réperetoire avec ActiveWorkbook.Fullname
    Uniquement le chemin avec ActiveWorkbook.Path

    EDIT:
    Je ne suis pas sur que la méthode que tu proposes permette d'arriver au résultat désiré.
    Ce qui veut dire que tu ne l'a même pas tester mais que la solution est pas bonne....
    Et behhh.. Je vois pas pourquoi faudrait te donner des solutions ?

    0
  7. Bobby
     
    Merci beaucoup, ça marche !

    Pour la deuxième partie de ta réponse, effectivement, ce n'est pas ce qu'il y a de plus correct, mais en lisant le code, je ne vois pas en quoi la perspective d'écrire "ne changer pas cette cellule" dans les cellules vides considérées aurait empêcher la suppression des données des cellules F23:F30 et de la cellule E14.

    Merci encore de ton aide
    Bonne journée
    0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Si tu avait tester tu aurrais compris....
    Ce n'est pas parce qu'ont a pas compris que ça marche pas.
    0
  9. Bobby
     
    Je m'incline,

    je ne comprends toujours pas le mécanisme, mais tu avais parfaitement raison... Ca me servira de leçon.

    Et bien une dernière fois merci

    bonne fin de journée et bon week end
    0