Execution de code VBA

Résolu/Fermé
marcbaertschi Messages postés 24 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 13 octobre 2008 - 28 avril 2008 à 11:23
marcbaertschi Messages postés 24 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 13 octobre 2008 - 28 avril 2008 à 12:19
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 jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607
28 avril 2008 à 11:34
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
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 lundi 31 mars 2008 Statut Membre Dernière intervention 13 octobre 2008
28 avril 2008 à 12:19
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