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;;;
Ce Sun, 6 Mar 2005 21:50:31 +0100, Laurent nous dit :
Bonjour Laurent,
Abuserais-je si je dis que je suis intéressée également ? Mon reply-to est valide.
Merci :-).
J'appuis sur un bouton que j'ai inséré dans la barre d'outil Excel. J'ai ensuite un Userform (Formulaire) qui apparait avec certains champs qui reprend entre autre le nom du client. Si c'est bon, un bouton ok va aller insérer le nom du client dans ton fichier 'N°devis' et prendre un nouveau numéro. Tu n'as plus qu'à valider sur le formulaire à l'écran et il t'insère le numéro du devis au bon endroit dans ton devis. Est-ce cela que tu veux? Si oui, je peux t'envoyer le fichier pour que tu puisses voir. --
/____/ / / - > O O < - - o -
v < Cath :-)
mail n.francais@wanadoo.fr
Ce Sun, 6 Mar 2005 21:50:31 +0100, Laurent nous dit :
Bonjour Laurent,
Abuserais-je si je dis que je suis intéressée également ?
Mon reply-to est valide.
Merci :-).
J'appuis sur un bouton que j'ai inséré dans la barre d'outil Excel. J'ai
ensuite un Userform (Formulaire) qui apparait avec
certains champs qui reprend entre autre le nom du client. Si c'est bon, un
bouton ok va aller insérer le nom du client dans ton fichier 'N°devis' et
prendre un nouveau numéro. Tu n'as plus qu'à valider sur le formulaire à
l'écran et il t'insère le numéro du devis au bon endroit dans ton devis.
Est-ce cela que tu veux? Si oui, je peux t'envoyer le fichier pour que tu
puisses voir.
--
Ce Sun, 6 Mar 2005 21:50:31 +0100, Laurent nous dit :
Bonjour Laurent,
Abuserais-je si je dis que je suis intéressée également ? Mon reply-to est valide.
Merci :-).
J'appuis sur un bouton que j'ai inséré dans la barre d'outil Excel. J'ai ensuite un Userform (Formulaire) qui apparait avec certains champs qui reprend entre autre le nom du client. Si c'est bon, un bouton ok va aller insérer le nom du client dans ton fichier 'N°devis' et prendre un nouveau numéro. Tu n'as plus qu'à valider sur le formulaire à l'écran et il t'insère le numéro du devis au bon endroit dans ton devis. Est-ce cela que tu veux? Si oui, je peux t'envoyer le fichier pour que tu puisses voir. --
/____/ / / - > O O < - - o -
v < Cath :-)
jps
en effet, pauline, beaucoup ici, dont je tairai les noms pour ne pas t'indisposer, m'appellent simplet... jps
"pauline" a écrit dans le message de news:
Bonjour JPS,
Je te remercie cela fonctionne et en plus c'est très simple à utiliser!
Bonne journée Pauline
"jps" a écrit dans le message de news:
bonsoir pauline alias guizmo tu as mal lu ce que j'ai écrit il ne faut pas utiliser MatriceDevis.xlt mais bien, comme tu le faisais avant, MatriceDevis.xls avec mon système, un classeur que tu auras donc à
ouvrir par Fichier Ouvrir (et non par Fichier Nouveau) qu'en penses-tu? jps PS je ne vois pas ce qu'est la cellule en gras
"guizmo" a écrit dans le message de news:
Bonsoir , J'ai pas bien compris vos échanges. M'enfin!
Pour ma part, je vous remercie tous d'avoir eu la gentillesse de me répondre. Effectivement, JPS, j'avais inversé les touches ce qui me créait
une feuille MACRO. J'ai suivi la procédure ci-dessous qui a l'air plus simple que l'autre;
Par
contre, il y'a un petit soucis car la première fois elle marche et ensuite
quand j'ouvre une deuxième fois "Fichier" " Nouveau" il m'enregistre la
nouvelle feuille et me dit qu'il existe déjà un fichier. Après cela me met
errur d'execution 1004 la méthode 'save'de l'objet a échoué. De plus j'ai remarqué qu'il n'enregistre pas ce fameux fichier toujours
au
même endroit. Si pour le fichier d'avant (avec aucun rapport entre les 2)
je
suis allée sur mes documentsperso, il va me l'enregistrer là! Bon je pense que j'ai dû mal faire. Voilà ma programmation dans thisworkbook: Private Sub Workbook_Open()
Range("c17").Value = Date
Range("c16").Value = Range("c16").Value + 1
ActiveWorkbook.Save End Sub
C'est la celulle en gras qui pose problème visiblement.
Bonne soirée Pauline
"jps" a écrit dans le message de news: %
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
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
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
en effet, pauline, beaucoup ici, dont je tairai les noms pour ne pas
t'indisposer, m'appellent simplet...
jps
"pauline" <fortier.lagrue@free.fr> a écrit dans le message de
news:OYeuB7wIFHA.2704@tk2msftngp13.phx.gbl...
Bonjour JPS,
Je te remercie cela fonctionne et en plus c'est très simple à utiliser!
Bonne journée
Pauline
"jps" <pensez@liege.be> a écrit dans le message de news:
ObH43GqIFHA.572@tk2msftngp13.phx.gbl...
bonsoir pauline alias guizmo
tu as mal lu ce que j'ai écrit
il ne faut pas utiliser MatriceDevis.xlt mais bien, comme tu le faisais
avant, MatriceDevis.xls avec mon système, un classeur que tu auras donc
à
ouvrir par Fichier Ouvrir (et non par Fichier Nouveau)
qu'en penses-tu?
jps
PS je ne vois pas ce qu'est la cellule en gras
"guizmo" <fortier.lagrue@free.fr> a écrit dans le message de
news:euMXSNpIFHA.3076@tk2msftngp13.phx.gbl...
Bonsoir ,
J'ai pas bien compris vos échanges. M'enfin!
Pour ma part, je vous remercie tous d'avoir eu la gentillesse de me
répondre. Effectivement, JPS, j'avais inversé les touches ce qui me
créait
une feuille MACRO.
J'ai suivi la procédure ci-dessous qui a l'air plus simple que
l'autre;
Par
contre, il y'a un petit soucis car la première fois elle marche et
ensuite
quand j'ouvre une deuxième fois "Fichier" " Nouveau" il m'enregistre
la
nouvelle feuille et me dit qu'il existe déjà un fichier. Après cela me
met
errur d'execution 1004 la méthode 'save'de l'objet a échoué.
De plus j'ai remarqué qu'il n'enregistre pas ce fameux fichier
toujours
au
même endroit. Si pour le fichier d'avant (avec aucun rapport entre les
2)
je
suis allée sur mes documentsperso, il va me l'enregistrer là!
Bon je pense que j'ai dû mal faire. Voilà ma programmation dans
thisworkbook:
Private Sub Workbook_Open()
Range("c17").Value = Date
Range("c16").Value = Range("c16").Value + 1
ActiveWorkbook.Save
End Sub
C'est la celulle en gras qui pose problème visiblement.
Bonne soirée
Pauline
"jps" <pensez@liege.be> a écrit dans le message de news:
%23xC4d9lIFHA.2936@TK2MSFTNGP15.phx.gbl...
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
en effet, pauline, beaucoup ici, dont je tairai les noms pour ne pas t'indisposer, m'appellent simplet... jps
"pauline" a écrit dans le message de news:
Bonjour JPS,
Je te remercie cela fonctionne et en plus c'est très simple à utiliser!
Bonne journée Pauline
"jps" a écrit dans le message de news:
bonsoir pauline alias guizmo tu as mal lu ce que j'ai écrit il ne faut pas utiliser MatriceDevis.xlt mais bien, comme tu le faisais avant, MatriceDevis.xls avec mon système, un classeur que tu auras donc à
ouvrir par Fichier Ouvrir (et non par Fichier Nouveau) qu'en penses-tu? jps PS je ne vois pas ce qu'est la cellule en gras
"guizmo" a écrit dans le message de news:
Bonsoir , J'ai pas bien compris vos échanges. M'enfin!
Pour ma part, je vous remercie tous d'avoir eu la gentillesse de me répondre. Effectivement, JPS, j'avais inversé les touches ce qui me créait
une feuille MACRO. J'ai suivi la procédure ci-dessous qui a l'air plus simple que l'autre;
Par
contre, il y'a un petit soucis car la première fois elle marche et ensuite
quand j'ouvre une deuxième fois "Fichier" " Nouveau" il m'enregistre la
nouvelle feuille et me dit qu'il existe déjà un fichier. Après cela me met
errur d'execution 1004 la méthode 'save'de l'objet a échoué. De plus j'ai remarqué qu'il n'enregistre pas ce fameux fichier toujours
au
même endroit. Si pour le fichier d'avant (avec aucun rapport entre les 2)
je
suis allée sur mes documentsperso, il va me l'enregistrer là! Bon je pense que j'ai dû mal faire. Voilà ma programmation dans thisworkbook: Private Sub Workbook_Open()
Range("c17").Value = Date
Range("c16").Value = Range("c16").Value + 1
ActiveWorkbook.Save End Sub
C'est la celulle en gras qui pose problème visiblement.
Bonne soirée Pauline
"jps" a écrit dans le message de news: %
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