Désactiver une macro bien précise
Bobby
-
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
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
A voir également:
- Désactiver une macro bien précise
- Desactiver rond bleu whatsapp - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Desactiver uac - Guide
- Désactiver compte facebook - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
8 réponses
Bonjour,
Tu pourrais déjà mettre un "Drapeau" de vidage sur une cellule ?
Et ta macro copier.. Elle fonctionne ????
A+
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+
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ?
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 ?
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
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