Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
de
la société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
de
la société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
de
la société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom de la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom de la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom de la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
dela société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" <fortier.lagrue@free.fr> a écrit dans le message de
news:uaVaGXkIFHA.276@tk2msftngp13.phx.gbl...
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
de
la société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
dela société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour Pauline,
Pour les numérotations automatiques de mes documents, j'utilise un
fichier INI.
Voici un exemple de macro qui écrit et lit dans un fichier INI.
Philippe
**************************************************************
' ++++ Variables utilsées ++++
' Toutes les variables utilisées ici sont Publiques
'
' appDirIni = chemin + nom fichier *.ini (exemple : C:Mes
DocumentsModèlesProjetsProjets.ini
' appType = Type exemple : Devis
' (Voir exemple du fichier INI plus bas)
' iniCount = Compteur
' iniCountChange = la période de remise à zéro du compteur (Y, M) Année
Mois etc ....
' iniLastDate = Date du dernier n° utilisé (sert pour la remise à Zéro)
'
Sub ReadIni()
With System
iniCount = .PrivateProfileString(appDirIni, appType, "Count")
iniCountChange = .PrivateProfileString(appDirIni, appType,
"CountChange")
iniLastDate = .PrivateProfileString(appDirIni, appType, "LastDate")
End With
End Sub
Sub WriteIni()
With System
.PrivateProfileString(appDirIni, appType, "Count") = iniCount
.PrivateProfileString(appDirIni, appType, "CountChange") = iniCountChange
.PrivateProfileString(appDirIni, appType, "LastDate") = iniLastDate
End With
End Sub
**************** Exemple de fichier INI ******************
[Devis]
Count
CountChange=Y
LastDate/03/2005
********************************************************
"pauline" a écrit dans le message de news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis je vais sur ce fichier et je le sauvegarde en le renommant devis
+le nom de la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour Pauline,
Pour les numérotations automatiques de mes documents, j'utilise un
fichier INI.
Voici un exemple de macro qui écrit et lit dans un fichier INI.
Philippe
**************************************************************
' ++++ Variables utilsées ++++
' Toutes les variables utilisées ici sont Publiques
'
' appDirIni = chemin + nom fichier *.ini (exemple : C:Mes
DocumentsModèlesProjetsProjets.ini
' appType = Type exemple : Devis
' (Voir exemple du fichier INI plus bas)
' iniCount = Compteur
' iniCountChange = la période de remise à zéro du compteur (Y, M) Année
Mois etc ....
' iniLastDate = Date du dernier n° utilisé (sert pour la remise à Zéro)
'
Sub ReadIni()
With System
iniCount = .PrivateProfileString(appDirIni, appType, "Count")
iniCountChange = .PrivateProfileString(appDirIni, appType,
"CountChange")
iniLastDate = .PrivateProfileString(appDirIni, appType, "LastDate")
End With
End Sub
Sub WriteIni()
With System
.PrivateProfileString(appDirIni, appType, "Count") = iniCount
.PrivateProfileString(appDirIni, appType, "CountChange") = iniCountChange
.PrivateProfileString(appDirIni, appType, "LastDate") = iniLastDate
End With
End Sub
**************** Exemple de fichier INI ******************
[Devis]
Count
CountChange=Y
LastDate/03/2005
********************************************************
"pauline" <fortier.lagrue@free.fr> a écrit dans le message de news:
uaVaGXkIFHA.276@tk2msftngp13.phx.gbl...
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis je vais sur ce fichier et je le sauvegarde en le renommant devis
+le nom de la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour Pauline,
Pour les numérotations automatiques de mes documents, j'utilise un
fichier INI.
Voici un exemple de macro qui écrit et lit dans un fichier INI.
Philippe
**************************************************************
' ++++ Variables utilsées ++++
' Toutes les variables utilisées ici sont Publiques
'
' appDirIni = chemin + nom fichier *.ini (exemple : C:Mes
DocumentsModèlesProjetsProjets.ini
' appType = Type exemple : Devis
' (Voir exemple du fichier INI plus bas)
' iniCount = Compteur
' iniCountChange = la période de remise à zéro du compteur (Y, M) Année
Mois etc ....
' iniLastDate = Date du dernier n° utilisé (sert pour la remise à Zéro)
'
Sub ReadIni()
With System
iniCount = .PrivateProfileString(appDirIni, appType, "Count")
iniCountChange = .PrivateProfileString(appDirIni, appType,
"CountChange")
iniLastDate = .PrivateProfileString(appDirIni, appType, "LastDate")
End With
End Sub
Sub WriteIni()
With System
.PrivateProfileString(appDirIni, appType, "Count") = iniCount
.PrivateProfileString(appDirIni, appType, "CountChange") = iniCountChange
.PrivateProfileString(appDirIni, appType, "LastDate") = iniLastDate
End With
End Sub
**************** Exemple de fichier INI ******************
[Devis]
Count
CountChange=Y
LastDate/03/2005
********************************************************
"pauline" a écrit dans le message de news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis je vais sur ce fichier et je le sauvegarde en le renommant devis
+le nom de la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" a écrit dans le message de news:bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
dela société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" <pensez@liege.be> a écrit dans le message de news:
uFC1QckIFHA.2420@TK2MSFTNGP14.phx.gbl...
bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" <fortier.lagrue@free.fr> a écrit dans le message de
news:uaVaGXkIFHA.276@tk2msftngp13.phx.gbl...
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
de
la société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" a écrit dans le message de news:bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le nom
dela société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note les
numéros de devis que je me sert avec le nom du client. Cette méthode est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" a écrit dans le message de news:bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement
à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom
dela société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
les
numéros de devis que je me sert avec le nom du client. Cette méthode
est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" <pensez@liege.be> a écrit dans le message de news:
uFC1QckIFHA.2420@TK2MSFTNGP14.phx.gbl...
bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" <fortier.lagrue@free.fr> a écrit dans le message de
news:uaVaGXkIFHA.276@tk2msftngp13.phx.gbl...
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement
à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom
de
la société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
les
numéros de devis que je me sert avec le nom du client. Cette méthode
est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" a écrit dans le message de news:bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement
à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom
dela société (exemple= devis robert) ensuite je travaille sur ce fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
les
numéros de devis que je me sert avec le nom du client. Cette méthode
est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
(et non pas cette feuille
macro qui nous arrive de je ne sais où)
Pauline s'est trompé, au lieu de faire Alt + F11, elle a fait Ctrl + F11 ce
merdum de merdum pauline
sur quelle version d'excel travailles-tu?
si ta matrice (toujours comme tu dis) est en .xls, tu pourrais très bien
la
garder ainsi et faire un truc dans ce genre :
tu ouvres Matricedevis.xls et tu entres dans la cellule de ton choix un n°
toujours de ton choix et tu enregistres ton classeur et tu le fermes...(on
pourrait tout faire à la fois mais ainsi tu comprendras mieux)
tu le rouvres et tu fais Alt F11 pour ouvrir VBE (et non pas cette feuille
macro qui nous arrive de je ne sais où)
dans VBE, dans l'arborescence à gauche tu double-cliques sur
ThisWorkbook...
tu as avoir à droite cette fois une fenêtre de module...tu suis toujours?
tu vas y coller ceci :
Private Sub Workbook_Open()
'la ligne ci-dessous est un petit cadeau de la maison qui te permet de
dater
ton 'devis de la date du jour...ne te reste qu'à changer la cellule (dans
l'ex. c'est F1)
Range("F1").Value = Date
la ligne ci-dessous va faire du bon travail puisqu'elle va ajouter une
unité
au n° de 'devis que tu as enregistré dans ta matrice...là encore, adapter
la
cellule
Range("E1").Value = Range("E1").Value + 1
'et ici, vite fait bien fait sur le gaz tu enregistres ton action de
numérotation, restant 'entendu que quand tu renverras ensuite
Matricedevis.xls dans son kibboutz, il ne 'faudra surtout pas
l'enregistrer
mais je suppose que c'est ce que tu faisais déjà
ActiveWorkbook.Save
End Sub
voilà pauline ce que nous pouvions dire dans cette affaire qui devrait
bien
fonctionner dès l'instant où tu peux ouvrir VBE, ce qui semble poser
problème
tutto capich?
jps
"pauline" a écrit dans le message de
news:Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas
faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un
autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls
en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé
une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" a écrit dans le message de news:bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de
régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement
àchaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le
nomdela société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
lesnuméros de devis que je me sert avec le nom du client. Cette méthode
estfastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
(et non pas cette feuille
macro qui nous arrive de je ne sais où)
Pauline s'est trompé, au lieu de faire Alt + F11, elle a fait Ctrl + F11 ce
merdum de merdum pauline
sur quelle version d'excel travailles-tu?
si ta matrice (toujours comme tu dis) est en .xls, tu pourrais très bien
la
garder ainsi et faire un truc dans ce genre :
tu ouvres Matricedevis.xls et tu entres dans la cellule de ton choix un n°
toujours de ton choix et tu enregistres ton classeur et tu le fermes...(on
pourrait tout faire à la fois mais ainsi tu comprendras mieux)
tu le rouvres et tu fais Alt F11 pour ouvrir VBE (et non pas cette feuille
macro qui nous arrive de je ne sais où)
dans VBE, dans l'arborescence à gauche tu double-cliques sur
ThisWorkbook...
tu as avoir à droite cette fois une fenêtre de module...tu suis toujours?
tu vas y coller ceci :
Private Sub Workbook_Open()
'la ligne ci-dessous est un petit cadeau de la maison qui te permet de
dater
ton 'devis de la date du jour...ne te reste qu'à changer la cellule (dans
l'ex. c'est F1)
Range("F1").Value = Date
la ligne ci-dessous va faire du bon travail puisqu'elle va ajouter une
unité
au n° de 'devis que tu as enregistré dans ta matrice...là encore, adapter
la
cellule
Range("E1").Value = Range("E1").Value + 1
'et ici, vite fait bien fait sur le gaz tu enregistres ton action de
numérotation, restant 'entendu que quand tu renverras ensuite
Matricedevis.xls dans son kibboutz, il ne 'faudra surtout pas
l'enregistrer
mais je suppose que c'est ce que tu faisais déjà
ActiveWorkbook.Save
End Sub
voilà pauline ce que nous pouvions dire dans cette affaire qui devrait
bien
fonctionner dès l'instant où tu peux ouvrir VBE, ce qui semble poser
problème
tutto capich?
jps
"pauline" <fortier.lagrue@free.fr> a écrit dans le message de
news:OcrFXPlIFHA.2648@TK2MSFTNGP14.phx.gbl...
Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas
faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un
autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls
en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé
une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" <pensez@liege.be> a écrit dans le message de news:
uFC1QckIFHA.2420@TK2MSFTNGP14.phx.gbl...
bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de
régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" <fortier.lagrue@free.fr> a écrit dans le message de
news:uaVaGXkIFHA.276@tk2msftngp13.phx.gbl...
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement
à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom
de
la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
les
numéros de devis que je me sert avec le nom du client. Cette méthode
est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
(et non pas cette feuille
macro qui nous arrive de je ne sais où)
Pauline s'est trompé, au lieu de faire Alt + F11, elle a fait Ctrl + F11 ce
merdum de merdum pauline
sur quelle version d'excel travailles-tu?
si ta matrice (toujours comme tu dis) est en .xls, tu pourrais très bien
la
garder ainsi et faire un truc dans ce genre :
tu ouvres Matricedevis.xls et tu entres dans la cellule de ton choix un n°
toujours de ton choix et tu enregistres ton classeur et tu le fermes...(on
pourrait tout faire à la fois mais ainsi tu comprendras mieux)
tu le rouvres et tu fais Alt F11 pour ouvrir VBE (et non pas cette feuille
macro qui nous arrive de je ne sais où)
dans VBE, dans l'arborescence à gauche tu double-cliques sur
ThisWorkbook...
tu as avoir à droite cette fois une fenêtre de module...tu suis toujours?
tu vas y coller ceci :
Private Sub Workbook_Open()
'la ligne ci-dessous est un petit cadeau de la maison qui te permet de
dater
ton 'devis de la date du jour...ne te reste qu'à changer la cellule (dans
l'ex. c'est F1)
Range("F1").Value = Date
la ligne ci-dessous va faire du bon travail puisqu'elle va ajouter une
unité
au n° de 'devis que tu as enregistré dans ta matrice...là encore, adapter
la
cellule
Range("E1").Value = Range("E1").Value + 1
'et ici, vite fait bien fait sur le gaz tu enregistres ton action de
numérotation, restant 'entendu que quand tu renverras ensuite
Matricedevis.xls dans son kibboutz, il ne 'faudra surtout pas
l'enregistrer
mais je suppose que c'est ce que tu faisais déjà
ActiveWorkbook.Save
End Sub
voilà pauline ce que nous pouvions dire dans cette affaire qui devrait
bien
fonctionner dès l'instant où tu peux ouvrir VBE, ce qui semble poser
problème
tutto capich?
jps
"pauline" a écrit dans le message de
news:Bonjour et merci pour ta réponse jps,
A la lecture de ta réponse j'ai fait GLOUPS! Je pense que toi tu vas
faire
AIE!AIE! car je suis débutante en VBA!
Déjà je ne savais pas que l'on pouvait se servir de xlt! Ma matrice était
sauvegardé en .xls, puis je l'ouvrais et je la sauvegardais avec un
autre
nom.
Donc, j'ai (je pense) trouver la solution de transférer mon fichier xls
en
xlt; j'ai procédé comme suit:
Enregistrer sous; type de fichier: modèle. es tu déjà d'accord sur cette
manip?
Ensuite j'ai ALT+F11 et au lieu de m'ouvrir l'éditeur VBA il m'a créé
une
feuille supplémentaire nommée "MACRO1".
Voilà ou j'en suis. AU SECOURS!!!!!
Amicalement
Pauline
"jps" a écrit dans le message de news:bonjour pauline
inspire-toi de cette réponse de boa73 qui devrait te permettre de
régler
ton
problème de numérotation....je suppose que ce que tu appelles "matrice"
est
un modèle qui doit s'appeler chez toi, si j'ai bien tout compris,
"matricedevis.xlt"...
donc il te suffit de remplacer Fact.xlt dans l'exemple de Boa par
Matricedevis.xlt...
good luck
jps
Voila Ci-dessous une solution qui suppose que ton modèle
("Fact.xlt" dans le code ci-dessous) contienne une
cellule nommée (InsertionNomDéfinir) "numFact", cellule
où s'inscrira le numéro incrémenté.
A l'ouverture d'un classeur basé sur le modèle
("Fact1.xls"), la cellule "numFact"
est incrémentée et le classeur est réenregistré comme
modèle "Fact.xlt", écrasant le précédent et sauvegardant
ainsi le nouveau numéro.
A la fermeture, si le classeur "Fact1.xls" n'a pas été
enregistré, on considère que le numéro de facture n'a pas
servi. Le modèle est réouvert et la cellule "numFact"
est décrémentée pour proposer à la création du prochain
classeur basé sur le modèle un numéro de
facture "cohérent" avec les précédentes factures
enregistrées.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath
& "Fact.xlt")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & "Fact.xlt"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Il faut pour cela que le classeur de base soit nommé
Fact.xlt, qu'il contienne une cellule nommée
numFact, ouvrir l'editeur VBA à l'aide de la combinaison
Alt+F11, de double cliquer sur ThisWorkbook du
projet portant le nom du classeur dans la fenêtre située
en haut à gauche et de copier l'ensemble des
deux procédures, de Private Sub Workbook_Open() au
deuxième End Sub dans la grande fenêtre de droite,
puis d'enregistrer.
Attention
Un fichier .xlt n'est pas destiné à être ouvert par la
procédure "ouvrir",
c'est un modèle, fonctionnant sur le même principe
que "classeur.xlt" qui, lorsqu'on utilise fichier nouveau
donne classeur1.xls.
Si tu procèdes maintenant de cette manière : Fichier /
Nouveau,
tu auras une fenêtre qui te proposera fact en plus de
classeur ;
en choisissant fact, tu ouvriras un fichier nommé
fact1.xls avec une cellule Numfact incrémentée.
Voila j'espère avoir pu t'aider,
Boa73
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met automatiquement
àchaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un nouveau
devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le
nomdela société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
lesnuméros de devis que je me sert avec le nom du client. Cette méthode
estfastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met
automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un
nouveau devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom de
la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
les
numéros de devis que je me sert avec le nom du client. Cette méthode
est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met
automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un
nouveau devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom de
la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
les
numéros de devis que je me sert avec le nom du client. Cette méthode
est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met
automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un
nouveau devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom de
la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
les
numéros de devis que je me sert avec le nom du client. Cette méthode
est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
Tu peux aller voir là, c'est probablement mieux expliqué que par JPS.
(Beaucoup savent pourquoi ;-) )
http://dj.joss.free.fr/faq.htm#numFacture
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met
automatiquement àchaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un
nouveau devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom dela société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
lesnuméros de devis que je me sert avec le nom du client. Cette méthode
estfastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
Tu peux aller voir là, c'est probablement mieux expliqué que par JPS.
(Beaucoup savent pourquoi ;-) )
http://dj.joss.free.fr/faq.htm#numFacture
"pauline" <fortier.lagrue@free.fr> a écrit dans le message de
news:uaVaGXkIFHA.276@tk2msftngp13.phx.gbl...
Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met
automatiquement à
chaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un
nouveau devis
je vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom de
la société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
les
numéros de devis que je me sert avec le nom du client. Cette méthode
est
fastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
Tu peux aller voir là, c'est probablement mieux expliqué que par JPS.
(Beaucoup savent pourquoi ;-) )
http://dj.joss.free.fr/faq.htm#numFacture
"pauline" a écrit dans le message de
news:Bonjour,
J'aimerais pouvoir avoir un numéro de devis qui se met
automatiquement àchaque création d'un nouveau fichier devis.
J'ai une matrice qui se nomme "matricedevis" et pour créér un
nouveau devisje vais sur ce fichier et je le sauvegarde en le renommant devis +le
nom dela société (exemple= devis robert) ensuite je travaille sur ce
fichier.
J'ai créé un fichier "n°devis" dans lequel ligne après ligne je note
lesnuméros de devis que je me sert avec le nom du client. Cette méthode
estfastidieuse et longue.
Je pense qu'il existe une formule?
Par contre, je connais pas encore vraiment la programmation VBA;;;
Merci d'avance
Bonjour,
Tu peux aller voir là, c'est probablement mieux
expliqué que par JPS. (Beaucoup savent pourquoi ;-) )
Bonjour,
Tu peux aller voir là, c'est probablement mieux
expliqué que par JPS. (Beaucoup savent pourquoi ;-) )
Bonjour,
Tu peux aller voir là, c'est probablement mieux
expliqué que par JPS. (Beaucoup savent pourquoi ;-) )