Execution de code VBA
Résolu
marcbaertschi
Messages postés
24
Statut
Membre
-
marcbaertschi Messages postés 24 Statut Membre -
marcbaertschi Messages postés 24 Statut Membre -
Bonjour,
Il me manque un détail pour finaliser un modèle excel.
Lorsque je double clique sur mon modèle excel pour l'ouvrir il l'ouvre en .xls comme prévu, il incrémente une cellulle spécifiée dans le code, et incréement le nom du fichier et l'enregistre fichier1.xls fichier2.xls,.....
MAIS
Ce qui me pose problème et que j'ai besoin que la macro qu'une seul et une unique fois sur le même document. Car en ce moment chque fois que je rouvre le fichier XLS qui a été créer par le modèle il continue à incrementer la celulle spécifiée.
Mon code:
Private Sub Workbook_Open()
' On met la variable en type texte
Dim chemin As String
' Chemin ou le fichier s'enregistre
chemin = "H:\Bureau\"
' On incrémente de 1 sur la zone numéro fichier
Worksheets("Descriptif des objets").Range("D4").Value = Worksheets("Descriptif des objets").Range("D4").Value + 1
' Sauvegarde du modèle
ThisWorkbook.Save
' Sauvegarde du classeur
ThisWorkbook.SaveAs chemin & "Descriptif_Objet_Plan_Investissement" & Worksheets("Descriptif des objets").Range("D4").Value & ".xls"
End Sub
N'hésitez pas à m'en demander plus si vous n'avez pas tout compris, il est possible que ce soit un peu vague je comprendrai....
D'avance merci.
Il me manque un détail pour finaliser un modèle excel.
Lorsque je double clique sur mon modèle excel pour l'ouvrir il l'ouvre en .xls comme prévu, il incrémente une cellulle spécifiée dans le code, et incréement le nom du fichier et l'enregistre fichier1.xls fichier2.xls,.....
MAIS
Ce qui me pose problème et que j'ai besoin que la macro qu'une seul et une unique fois sur le même document. Car en ce moment chque fois que je rouvre le fichier XLS qui a été créer par le modèle il continue à incrementer la celulle spécifiée.
Mon code:
Private Sub Workbook_Open()
' On met la variable en type texte
Dim chemin As String
' Chemin ou le fichier s'enregistre
chemin = "H:\Bureau\"
' On incrémente de 1 sur la zone numéro fichier
Worksheets("Descriptif des objets").Range("D4").Value = Worksheets("Descriptif des objets").Range("D4").Value + 1
' Sauvegarde du modèle
ThisWorkbook.Save
' Sauvegarde du classeur
ThisWorkbook.SaveAs chemin & "Descriptif_Objet_Plan_Investissement" & Worksheets("Descriptif des objets").Range("D4").Value & ".xls"
End Sub
N'hésitez pas à m'en demander plus si vous n'avez pas tout compris, il est possible que ce soit un peu vague je comprendrai....
D'avance merci.
A voir également:
- Execution de code VBA
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
3 réponses
j'ai besoin que la macro qu'une seul et une unique fois
Dommage, il manque le verbe qui m'aurait permis de comprendre le message... :)
Au pif : tu voudrais qu'en démarrant le fichier, il commence par fichier1 au lieu de commencer là où il s'était arrêté ?
Dommage, il manque le verbe qui m'aurait permis de comprendre le message... :)
Au pif : tu voudrais qu'en démarrant le fichier, il commence par fichier1 au lieu de commencer là où il s'était arrêté ?
bonjour,
essaie avec ça
Private Sub Workbook_Open()
If ThisWorkBook.Name = "Descriptif_Objet_Plan_Investissement" & _
Worksheets("Descriptif des objets").Range("D4").Value & ".xls" _
Then Exit Sub
' On met la variable en type texte
Dim chemin As String
' Chemin ou le fichier s'enregistre
chemin = "H:\Bureau\"
' On incrémente de 1 sur la zone numéro fichier
Worksheets("Descriptif des objets").Range("D4").Value = Worksheets("Descriptif des objets").Range("D4").Value + 1
' Sauvegarde du modèle
ThisWorkbook.Save
' Sauvegarde du classeur
ThisWorkbook.SaveAs chemin & "Descriptif_Objet_Plan_Investissement" & Worksheets("Descriptif des objets").Range("D4").Value & ".xls"
End Sub
essaie avec ça
Private Sub Workbook_Open()
If ThisWorkBook.Name = "Descriptif_Objet_Plan_Investissement" & _
Worksheets("Descriptif des objets").Range("D4").Value & ".xls" _
Then Exit Sub
' On met la variable en type texte
Dim chemin As String
' Chemin ou le fichier s'enregistre
chemin = "H:\Bureau\"
' On incrémente de 1 sur la zone numéro fichier
Worksheets("Descriptif des objets").Range("D4").Value = Worksheets("Descriptif des objets").Range("D4").Value + 1
' Sauvegarde du modèle
ThisWorkbook.Save
' Sauvegarde du classeur
ThisWorkbook.SaveAs chemin & "Descriptif_Objet_Plan_Investissement" & Worksheets("Descriptif des objets").Range("D4").Value & ".xls"
End Sub