OVH Cloud OVH Cloud

N°devis automatique

23 réponses
Avatar
pauline
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

10 réponses

1 2 3
Avatar
Frédo P
Bonjour Jps
Qu'est que tu leurs a fait pour qu'ils s'en prennent de cette façon à ta
personne , envoi leur un scud ndd!!
Avatar
jps
ahhhhh frédo, si j'envoie un scud au pape québécois, comprends et accepte
qu'il (le scud) ne puisse être ndd....
jps

"Frédo P" a écrit dans le message de
news:
Bonjour Jps
Qu'est que tu leurs a fait pour qu'ils s'en prennent de cette façon à ta
personne , envoi leur un scud ndd!!




Avatar
Laurent
Bonjour Pauline,

J'ai fait quelque chose dans le style que tu aimerais avoir je pense, pour
de la facturation :
j'ai mon fichier facture (ou devis dans ton cas), je rentre le nom du
client...
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.

Bonne soirée
Laurent

"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



Avatar
guizmo
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

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
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














Avatar
Pauline et guizmo
Bonsoir Laurent,

Cela me parait pas mal du tout. J'accepte volontier ta proposition!

Je te remercie d'avance;
bonne soirée

"Laurent" a écrit dans le message de news:

Bonjour Pauline,

J'ai fait quelque chose dans le style que tu aimerais avoir je pense, pour
de la facturation :
j'ai mon fichier facture (ou devis dans ton cas), je rentre le nom du
client...
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.

Bonne soirée
Laurent

"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







Avatar
jps
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



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





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


















Avatar
Cath
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 :-)


Avatar
nicolas65
Bonjour,
Je fais des factures très souvent également et je serais preneur du fichier
de Laurent
D'avance un grand merci


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 :-)





Avatar
pauline
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




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





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





















Avatar
nicolas65
mail


Bonjour,
Je fais des factures très souvent également et je serais preneur du fichier
de Laurent
D'avance un grand merci


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 :-)







1 2 3