Execution de code VBA

Résolu
marcbaertschi Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
marcbaertschi Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

3 réponses

HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
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é ?
0
amigo
 
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
0
marcbaertschi Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai besoin que la macro S'EXECUTE qu'une seul et une unique fois (désolé)

il faut qu'elle s'éxecute que lorsqu'on double clique sur le modele, et non pas sur les fichiers.xls

Non le code fourni ne marche pas, merci quand même
0