Macro GRRRRR
Résolu
valttt
Messages postés
299
Date d'inscription
Statut
Membre
Dernière intervention
-
valttt Messages postés 299 Date d'inscription Statut Membre Dernière intervention -
valttt Messages postés 299 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai récupéré sur un site, un code VBA me permettant à chaque fermeture du fichier d’extension .xlsm, de créer dans le même dossier un document nommé FactureX.xlsx ou X est un numéro incrémenté de 1 à chaque fois.
Voici ce code:
Ma question est de savoir comment sur Excel 2010, utiliser ce même code pour être utiliser avec un autre fichier.
En clair je n'arrive pas à utiliser ce code de façon automatique.
Mil merci pour votre aide.
J'ai récupéré sur un site, un code VBA me permettant à chaque fermeture du fichier d’extension .xlsm, de créer dans le même dossier un document nommé FactureX.xlsx ou X est un numéro incrémenté de 1 à chaque fois.
Voici ce code:
Option Explicit Private Sub Workbook_Open()
Range("B1") = Range("B1") + 1
ActiveWorkbook.Save
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Chemin As String, Numéro_facture As Integer
Chemin = ActiveWorkbook.Path
Numéro_facture = Range("B1")
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\Facture " & Numéro_facture & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
Ma question est de savoir comment sur Excel 2010, utiliser ce même code pour être utiliser avec un autre fichier.
En clair je n'arrive pas à utiliser ce code de façon automatique.
Mil merci pour votre aide.
A voir également:
- Macro GRRRRR
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
8 réponses
Merci pour ta réponse Pierre1310.
Ce n'est pas que je comprends ou pas, mon problème est que je ne sais pas quoi faire avec ce code pour l'utiliser dans un fichier de facture personnel.
J'ai essayer de l'utiliser sous Visual Basic, Macro, mais rien n'y fait (dans Excel).
Ce n'est pas que je comprends ou pas, mon problème est que je ne sais pas quoi faire avec ce code pour l'utiliser dans un fichier de facture personnel.
J'ai essayer de l'utiliser sous Visual Basic, Macro, mais rien n'y fait (dans Excel).
Je sais que cela fonctionne, il est même génial car il correspond exactement à ce que je recherche !
J'ai tirer ce code du fichier joint sur ce site: https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=26118&start=
Mon fichier personnel d'origine est: Facture_SOS.xlsx
Je veux intégrer ce code pour que lorsque je vais enregistrer ce même fichier en .xlsm, la macro fonctionne.
Je n'arrive pas à enregistrer cette macro.
Je ne sais que faire de ce code.
J'ai essayer plusieurs chose pour essayer d'avoir un fichier xlsm fonctionnel mais rien.
Pardon pour mon ignorance...et merci encore pour ton aide.
J'ai tirer ce code du fichier joint sur ce site: https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=26118&start=
Mon fichier personnel d'origine est: Facture_SOS.xlsx
Je veux intégrer ce code pour que lorsque je vais enregistrer ce même fichier en .xlsm, la macro fonctionne.
Je n'arrive pas à enregistrer cette macro.
Je ne sais que faire de ce code.
J'ai essayer plusieurs chose pour essayer d'avoir un fichier xlsm fonctionnel mais rien.
Pardon pour mon ignorance...et merci encore pour ton aide.
Merci, c'est déjà fait, mais je doit très mal m'exprimer :-(
1)Je veux intégrer ce code à mon fichier d'origine (.xlsx), pour qu'il devienne macro
2)J'enregistre mon fichier d'origine en .xlsm pour que la macro fonctionne.
C'est la 1) que je n'arrive pas à faire.
Quelle est la méthodologie ?
Ou dois-je mettre ce code ?
Comment enregistrer cette macro / code ?
Bref, je sais plus comment le dire, car tout ce que j'ai essayer ne fonctionne pas.... MEUUUUUUUUUUUUUUH
1)Je veux intégrer ce code à mon fichier d'origine (.xlsx), pour qu'il devienne macro
2)J'enregistre mon fichier d'origine en .xlsm pour que la macro fonctionne.
C'est la 1) que je n'arrive pas à faire.
Quelle est la méthodologie ?
Ou dois-je mettre ce code ?
Comment enregistrer cette macro / code ?
Bref, je sais plus comment le dire, car tout ce que j'ai essayer ne fonctionne pas.... MEUUUUUUUUUUUUUUH
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci encore pour ton aide Pierre1310,
1) J'ouvre mon fichier Facture_SOS.xlsx
2) Je clic sur Visual Basic
3)Je tape le code comme tu me dis:
4) J'enregistre mon fichier avec l'extension xlsm (Facture_SOS.xlsm)
Lorsque je lance mon fichier, il s'ouvre mais rien ne se passe, et si je le ferme, il me demande si je souhaite enregistrer les modifications, alors que je n'en ai pas fait.
Il devrait incrémenter le numéro (0) dans ma cellule B1 et ne pas me demander d'enregistrer les modifications à la fermeture, puisqu'il est censé créer un autre fichier.
1) J'ouvre mon fichier Facture_SOS.xlsx
2) Je clic sur Visual Basic
3)Je tape le code comme tu me dis:
sub maMacro()
Option Explicit Private Sub Workbook_Open()
Range("B1") = Range("B1") + 1
ActiveWorkbook.Save
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Chemin As String, Numéro_facture As Integer
Chemin = ActiveWorkbook.Path
Numéro_facture = Range("B1")
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\Facture " & Numéro_facture & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
4) J'enregistre mon fichier avec l'extension xlsm (Facture_SOS.xlsm)
Lorsque je lance mon fichier, il s'ouvre mais rien ne se passe, et si je le ferme, il me demande si je souhaite enregistrer les modifications, alors que je n'en ai pas fait.
Il devrait incrémenter le numéro (0) dans ma cellule B1 et ne pas me demander d'enregistrer les modifications à la fermeture, puisqu'il est censé créer un autre fichier.
Bonjour valttt,
J'ai modifié ainsi le code VBA de ton message #8 :
52 est le code numérique pour : xlOpenXMLWorkbookMacroEnabled
Attention : après avoir désactivé les alertes, ne pas oublier de les
réactiver ensuite ! Sinon, des erreurs aléatoires et inattendues
peuvent se produire ! D'où cette ligne obligatoire :
Application.DisplayAlerts = True
--------------------------------------------
Essaye comme ça, et dis-moi ce que tu en penses.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
J'ai modifié ainsi le code VBA de ton message #8 :
Option Explicit Private Sub Workbook_Open() [B1] = [B1] + 1: ActiveWorkbook.Save End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim Chemin As String, Numéro_facture As Integer Chemin = ActiveWorkbook.Path: Numéro_facture = [B1] Application.DisplayAlerts = False ActiveWorkbook.SaveAs Chemin & "\Facture " & Numéro_facture & ".xlsm", 52 Application.DisplayAlerts = True End Sub
52 est le code numérique pour : xlOpenXMLWorkbookMacroEnabled
Attention : après avoir désactivé les alertes, ne pas oublier de les
réactiver ensuite ! Sinon, des erreurs aléatoires et inattendues
peuvent se produire ! D'où cette ligne obligatoire :
Application.DisplayAlerts = True
--------------------------------------------
Essaye comme ça, et dis-moi ce que tu en penses.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Bonjour et merci pour ta réponse,
Rien ne change, il y a toujours les même problèmes:
- Pas d'incrémentation du numéro
- Pas de création de fichier .xlsx avec le numéro dans le nom de fichier
- Demande d’enregistrement des modifications alors qu'il n' en a pas
Rien ne change, il y a toujours les même problèmes:
- Pas d'incrémentation du numéro
- Pas de création de fichier .xlsx avec le numéro dans le nom de fichier
- Demande d’enregistrement des modifications alors qu'il n' en a pas
J'ai enfin trouver le pourquoi du comment !
Mon code original était fonctionnel, mais c'est la façon de l'intégrer qui n'était pas bonne, alors pour info:
1) Ouvrir son fichier toto.xlsx
2) Activer le menu Développeur
3) Cliquer sur Visual Basic
4) Dans les objets (à gauche), double cliquer sur Feuil1
5) Saisir la première partie du code à savoir pour mon cas: Option Explicit
6) Dans les objets (à gauche), double cliquer sur ThisWorkbook
7) Saisir la totalité du code (même la 1ère ligne saisie plus haut)
8) Cliquer sur la disquette pour enregistrer votre travail
9) Un message d'erreur apparait : Cliquer sur NON, et enregistrez votre fichier avec l'extension xlsm (toto.xlsm)
J'espère que cela aidera quelqu'un comme moi plus tard.
Merci encore à Pierre1310 et Albkan pour votre aide.
Mon code original était fonctionnel, mais c'est la façon de l'intégrer qui n'était pas bonne, alors pour info:
1) Ouvrir son fichier toto.xlsx
2) Activer le menu Développeur
3) Cliquer sur Visual Basic
4) Dans les objets (à gauche), double cliquer sur Feuil1
5) Saisir la première partie du code à savoir pour mon cas: Option Explicit
6) Dans les objets (à gauche), double cliquer sur ThisWorkbook
7) Saisir la totalité du code (même la 1ère ligne saisie plus haut)
8) Cliquer sur la disquette pour enregistrer votre travail
9) Un message d'erreur apparait : Cliquer sur NON, et enregistrez votre fichier avec l'extension xlsm (toto.xlsm)
J'espère que cela aidera quelqu'un comme moi plus tard.
Merci encore à Pierre1310 et Albkan pour votre aide.