OVH Cloud OVH Cloud

Ajout de numéro de contrat

9 réponses
Avatar
Ouille
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a pplication, pour
créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et fait au
premier rendez-vous je créer un numéro de contrat (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire de la ligne
8), mais par contre si le contart a signé est fait ulterieurement, cela
indique dans une celulle "Non-signé" (La même colonne que pour le N° de
contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir lors de la
signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille

9 réponses

Avatar
LeSteph
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais pouvoir
lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 - 28
...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer "non
signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui pourrait
être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au dessus des
volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la cellule
devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre a8 et
a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche un
MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le numéro.
Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans une
boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la variable
si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le plus élevé
pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a pplication, pour
créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et fait au
premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire de la
ligne

8), mais par contre si le contart a signé est fait ulterieurement, cela
indique dans une celulle "Non-signé" (La même colonne que pour le N° de
contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir lors de
la

signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille




Avatar
Ouille
LeSteph, le forum

Merci, por ta réponse.

Je fais comme passion de l'animation de soirée et éclairage sonorisation de
spectacles.

Quand je rentre un nouveau client, et a la validation, j'ai deux moyens de
créer un contrat :

Avec une MsgBox, qui me demande a la validation, "Le contrat est il signé?",
oui ou non.

Si oui cela me créer automatiquement un nouveau numéro au format Année +
deux chiffres, à la suite de ceux déja créer

Si non, cela m'indique dans la même colonne, "Non-Signé"

Et si quelques temps aprés, le contrat est signé, je faits une recherche
par nom, qu'un test se fasse si le contrat est signé ou non, qu'un bouton
s'affiche et qu'une fois cliqué dessus, que cela me supprime, "Non-Signé"
pour me le remplacer par un nouveau numéro de contrat.

Voila, j'espère avoir été plus claire.

Merci, Ouille

"LeSteph" a écrit dans le message de
news:4128595a$0$29667$
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais
pouvoir

lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 - 28
...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer "non
signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui
pourrait

être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au dessus des
volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la cellule
devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre a8 et
a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche un
MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le numéro.
Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans une
boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la variable
si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le plus
élevé

pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a pplication, pour
créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et fait au
premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire de la
ligne

8), mais par contre si le contart a signé est fait ulterieurement, cela
indique dans une celulle "Non-signé" (La même colonne que pour le N° de
contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir lors de
la

signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille








Avatar
LeSteph
Compris c'est parti! je rectifie mon code et reposte selon cette
proposition.

"Ouille" a écrit dans le message de
news:%
LeSteph, le forum

Merci, por ta réponse.

Je fais comme passion de l'animation de soirée et éclairage sonorisation
de

spectacles.

Quand je rentre un nouveau client, et a la validation, j'ai deux moyens de
créer un contrat :

Avec une MsgBox, qui me demande a la validation, "Le contrat est il
signé?",

oui ou non.

Si oui cela me créer automatiquement un nouveau numéro au format Année +
deux chiffres, à la suite de ceux déja créer

Si non, cela m'indique dans la même colonne, "Non-Signé"

Et si quelques temps aprés, le contrat est signé, je faits une recherche
par nom, qu'un test se fasse si le contrat est signé ou non, qu'un bouton
s'affiche et qu'une fois cliqué dessus, que cela me supprime, "Non-Signé"
pour me le remplacer par un nouveau numéro de contrat.

Voila, j'espère avoir été plus claire.

Merci, Ouille

"LeSteph" a écrit dans le message de
news:4128595a$0$29667$
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais
pouvoir

lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 - 28
...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer "non
signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui
pourrait

être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au dessus
des


volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la cellule
devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre a8 et
a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche un
MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le numéro.
Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans une
boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la
variable


si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le plus
élevé

pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a pplication,
pour



créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et fait
au



premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire de la
ligne

8), mais par contre si le contart a signé est fait ulterieurement,
cela



indique dans une celulle "Non-signé" (La même colonne que pour le N°
de



contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir lors
de



la
signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille












Avatar
LeSteph
Re Bonsoir,
Voici ce qu'il faut affecter au bouton:

Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range

Set myr = Range("a8:a65536")
Set isect = Intersect(myr, Cells(ActiveCell.Row, 1))
If isect Is Nothing Then
Exit Sub
Else


If isect Like "20*" Or isect Like "19*" Then
MsgBox "Déjà daté"

Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


isect = Format(Now, "yyyy") & _
Format(numC, "00")

End If


End If
End Sub

"Ouille" a écrit dans le message de
news:%
LeSteph, le forum

Merci, por ta réponse.

Je fais comme passion de l'animation de soirée et éclairage sonorisation
de

spectacles.

Quand je rentre un nouveau client, et a la validation, j'ai deux moyens de
créer un contrat :

Avec une MsgBox, qui me demande a la validation, "Le contrat est il
signé?",

oui ou non.

Si oui cela me créer automatiquement un nouveau numéro au format Année +
deux chiffres, à la suite de ceux déja créer

Si non, cela m'indique dans la même colonne, "Non-Signé"

Et si quelques temps aprés, le contrat est signé, je faits une recherche
par nom, qu'un test se fasse si le contrat est signé ou non, qu'un bouton
s'affiche et qu'une fois cliqué dessus, que cela me supprime, "Non-Signé"
pour me le remplacer par un nouveau numéro de contrat.

Voila, j'espère avoir été plus claire.

Merci, Ouille

"LeSteph" a écrit dans le message de
news:4128595a$0$29667$
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais
pouvoir

lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 - 28
...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer "non
signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui
pourrait

être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au dessus
des


volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la cellule
devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre a8 et
a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche un
MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le numéro.
Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans une
boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la
variable


si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le plus
élevé

pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a pplication,
pour



créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et fait
au



premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire de la
ligne

8), mais par contre si le contart a signé est fait ulterieurement,
cela



indique dans une celulle "Non-signé" (La même colonne que pour le N°
de



contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir lors
de



la
signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille












Avatar
Ouille
LeSteph, le forum

Merci, je vais essayer cela cette aprés-midi, et je te tiens au courant.

Salut, Ouille
"LeSteph" a écrit dans le message de
news:4128d8d9$0$16915$
Re Bonsoir,
Voici ce qu'il faut affecter au bouton:

Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range

Set myr = Range("a8:a65536")
Set isect = Intersect(myr, Cells(ActiveCell.Row, 1))
If isect Is Nothing Then
Exit Sub
Else


If isect Like "20*" Or isect Like "19*" Then
MsgBox "Déjà daté"

Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


isect = Format(Now, "yyyy") & _
Format(numC, "00")

End If


End If
End Sub

"Ouille" a écrit dans le message de
news:%
LeSteph, le forum

Merci, por ta réponse.

Je fais comme passion de l'animation de soirée et éclairage sonorisation
de

spectacles.

Quand je rentre un nouveau client, et a la validation, j'ai deux moyens
de


créer un contrat :

Avec une MsgBox, qui me demande a la validation, "Le contrat est il
signé?",

oui ou non.

Si oui cela me créer automatiquement un nouveau numéro au format Année +
deux chiffres, à la suite de ceux déja créer

Si non, cela m'indique dans la même colonne, "Non-Signé"

Et si quelques temps aprés, le contrat est signé, je faits une
recherche


par nom, qu'un test se fasse si le contrat est signé ou non, qu'un
bouton


s'affiche et qu'une fois cliqué dessus, que cela me supprime,
"Non-Signé"


pour me le remplacer par un nouveau numéro de contrat.

Voila, j'espère avoir été plus claire.

Merci, Ouille

"LeSteph" a écrit dans le message de
news:4128595a$0$29667$
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais
pouvoir

lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 - 28
...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer
"non



signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui
pourrait

être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au dessus
des


volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la cellule
devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre a8
et



a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche un
MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le numéro.
Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans une
boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la
variable


si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le plus
élevé

pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a pplication,
pour



créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et
fait




au
premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire de
la




ligne
8), mais par contre si le contart a signé est fait ulterieurement,
cela



indique dans une celulle "Non-signé" (La même colonne que pour le N°
de



contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir
lors




de
la
signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille
















Avatar
Ouille
Le Steph, le Forum

Bon, ton code fonctionne nickel.
J'ai essayé de faire ensorte que la recherche s'effectue, de la dernière
ligne écrite a la première, pour que cela soit un peu plus rapide, a
l'éxécution, mais en vains.

Ensuite j'ai ce code dans le bouton pour valider lors de la création de la
fiche renseignements, avant de créer le contrat :

dim réponse
réponse = MsgBox("Voulez-vous établir le contrat maintenant ? ", vbYesNo +
vbQuestion, "VALIDATION")
If réponse = vbYes Then
With .Range("A65536").End(xlUp)(1)
On Error GoTo suite
If IsNumeric(CInt(Right(.Value, 1))) Then
.Offset(1, 0) = Year(Date) & "-" & Format(Right(.Value,
2) + 1, _
"0#")
Else
suite:
.Offset(1, 0) = Year(Date) & "-" & "01"
End If
End With
EnvoieContrat_recto
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
Else
.Range("A" & L).Value = "Non signé"
Call Trie
Call MiseEnFormeDossier(Range([A65536].End(xlUp)(1),
[AK65536].End(xlUp)(1)))
Call LargueurAutomatique
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
End If

Mais cela ne tiens pas compte si des contrats sont déja enregistrés, pour
créer un nouveau n° de contrat a la suite des autres, quelles erreur(s)
ai-je faite?

Exemple si j'ai déja créer :

2004-01
2004-02
2004-03

Et bien que cela continu en faisant 2004-04

Merci, pour tes conseils, Ouille

"LeSteph" a écrit dans le message de
news:4128d8d9$0$16915$
Re Bonsoir,
Voici ce qu'il faut affecter au bouton:

Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range

Set myr = Range("a8:a65536")
Set isect = Intersect(myr, Cells(ActiveCell.Row, 1))
If isect Is Nothing Then
Exit Sub
Else


If isect Like "20*" Or isect Like "19*" Then
MsgBox "Déjà daté"

Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


isect = Format(Now, "yyyy") & _
Format(numC, "00")

End If


End If
End Sub

"Ouille" a écrit dans le message de
news:%
LeSteph, le forum

Merci, por ta réponse.

Je fais comme passion de l'animation de soirée et éclairage sonorisation
de

spectacles.

Quand je rentre un nouveau client, et a la validation, j'ai deux moyens
de


créer un contrat :

Avec une MsgBox, qui me demande a la validation, "Le contrat est il
signé?",

oui ou non.

Si oui cela me créer automatiquement un nouveau numéro au format Année +
deux chiffres, à la suite de ceux déja créer

Si non, cela m'indique dans la même colonne, "Non-Signé"

Et si quelques temps aprés, le contrat est signé, je faits une
recherche


par nom, qu'un test se fasse si le contrat est signé ou non, qu'un
bouton


s'affiche et qu'une fois cliqué dessus, que cela me supprime,
"Non-Signé"


pour me le remplacer par un nouveau numéro de contrat.

Voila, j'espère avoir été plus claire.

Merci, Ouille

"LeSteph" a écrit dans le message de
news:4128595a$0$29667$
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais
pouvoir

lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 - 28
...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer
"non



signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui
pourrait

être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au dessus
des


volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la cellule
devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre a8
et



a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche un
MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le numéro.
Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans une
boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la
variable


si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le plus
élevé

pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a pplication,
pour



créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et
fait




au
premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire de
la




ligne
8), mais par contre si le contart a signé est fait ulterieurement,
cela



indique dans une celulle "Non-signé" (La même colonne que pour le N°
de



contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir
lors




de
la
signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille
















Avatar
LeSteph
Bonsoir Ouille,

Si tu es sûr que aucun vide n'intervient entre
début et fin on peut prévoir une sortie de boucle
sur cette alternative.
Après on peaufinera

Application.ScreenUpdatingúlse
ou autre allègement.

Là tt de suite j'ai des trucs/ le feu ,
pour ton code reste des détails incompris
envoie le tout sur ma bal perso si te convient
(PJ indterdites sur forum)
y compris les call ou autres routines annexes
que j'aie une vue plus globale.
Ou bien un modèle réduit qui tourne


Tu enlève le Le et remplace la frite par free.

Je m'y recolle dès que possible.

LeSteph




"Ouille" a écrit dans le message de
news:
Le Steph, le Forum

Bon, ton code fonctionne nickel.
J'ai essayé de faire ensorte que la recherche s'effectue, de la dernière
ligne écrite a la première, pour que cela soit un peu plus rapide, a
l'éxécution, mais en vains.

Ensuite j'ai ce code dans le bouton pour valider lors de la création de la
fiche renseignements, avant de créer le contrat :

dim réponse
réponse = MsgBox("Voulez-vous établir le contrat maintenant ? ", vbYesNo
+

vbQuestion, "VALIDATION")
If réponse = vbYes Then
With .Range("A65536").End(xlUp)(1)
On Error GoTo suite
If IsNumeric(CInt(Right(.Value, 1))) Then
.Offset(1, 0) = Year(Date) & "-" &
Format(Right(.Value,

2) + 1, _
"0#")
Else
suite:
.Offset(1, 0) = Year(Date) & "-" & "01"
End If
End With
EnvoieContrat_recto
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
Else
.Range("A" & L).Value = "Non signé"
Call Trie
Call MiseEnFormeDossier(Range([A65536].End(xlUp)(1),
[AK65536].End(xlUp)(1)))
Call LargueurAutomatique
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
End If

Mais cela ne tiens pas compte si des contrats sont déja enregistrés, pour
créer un nouveau n° de contrat a la suite des autres, quelles erreur(s)
ai-je faite?

Exemple si j'ai déja créer :

2004-01
2004-02
2004-03

Et bien que cela continu en faisant 2004-04

Merci, pour tes conseils, Ouille

"LeSteph" a écrit dans le message de
news:4128d8d9$0$16915$
Re Bonsoir,
Voici ce qu'il faut affecter au bouton:

Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range

Set myr = Range("a8:a65536")
Set isect = Intersect(myr, Cells(ActiveCell.Row, 1))
If isect Is Nothing Then
Exit Sub
Else


If isect Like "20*" Or isect Like "19*" Then
MsgBox "Déjà daté"

Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


isect = Format(Now, "yyyy") & _
Format(numC, "00")

End If


End If
End Sub

"Ouille" a écrit dans le message de
news:%
LeSteph, le forum

Merci, por ta réponse.

Je fais comme passion de l'animation de soirée et éclairage
sonorisation



de
spectacles.

Quand je rentre un nouveau client, et a la validation, j'ai deux
moyens



de
créer un contrat :

Avec une MsgBox, qui me demande a la validation, "Le contrat est il
signé?",

oui ou non.

Si oui cela me créer automatiquement un nouveau numéro au format Année
+



deux chiffres, à la suite de ceux déja créer

Si non, cela m'indique dans la même colonne, "Non-Signé"

Et si quelques temps aprés, le contrat est signé, je faits une
recherche


par nom, qu'un test se fasse si le contrat est signé ou non, qu'un
bouton


s'affiche et qu'une fois cliqué dessus, que cela me supprime,
"Non-Signé"


pour me le remplacer par un nouveau numéro de contrat.

Voila, j'espère avoir été plus claire.

Merci, Ouille

"LeSteph" a écrit dans le message de
news:4128595a$0$29667$
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais
pouvoir

lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 -
28




...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer
"non



signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui
pourrait

être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au
dessus




des
volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la
cellule




devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre
a8




et
a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche
un




MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le
numéro.




Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans
une




boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la
variable


si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le
plus




élevé
pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a
pplication,





pour
créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et
fait




au
premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire
de





la
ligne
8), mais par contre si le contart a signé est fait ulterieurement,
cela



indique dans une celulle "Non-signé" (La même colonne que pour le






de
contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir
lors




de
la
signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille




















Avatar
LeSteph
Bonsoir Ouille,

Si tu es sûr que aucun vide n'intervient entre
début et fin on peut prévoir une sortie de boucle
sur cette alternative.
Après on peaufinera

Application.ScreenUpdatingúlse
ou autre allègement.

Là tt de suite j'ai des trucs/ le feu ,
pour ton code reste des détails incompris
envoie le tout sur ma bal perso si te convient
(PJ indterdites sur forum)
y compris les call ou autres routines annexes
que j'aie une vue plus globale.
Ou bien un modèle réduit qui tourne


Tu enlève le Le et remplace la frite par free.

Je m'y recolle dès que possible.

LeSteph




"Ouille" a écrit dans le message de
news:
Le Steph, le Forum

Bon, ton code fonctionne nickel.
J'ai essayé de faire ensorte que la recherche s'effectue, de la dernière
ligne écrite a la première, pour que cela soit un peu plus rapide, a
l'éxécution, mais en vains.

Ensuite j'ai ce code dans le bouton pour valider lors de la création de la
fiche renseignements, avant de créer le contrat :

dim réponse
réponse = MsgBox("Voulez-vous établir le contrat maintenant ? ", vbYesNo
+

vbQuestion, "VALIDATION")
If réponse = vbYes Then
With .Range("A65536").End(xlUp)(1)
On Error GoTo suite
If IsNumeric(CInt(Right(.Value, 1))) Then
.Offset(1, 0) = Year(Date) & "-" &
Format(Right(.Value,

2) + 1, _
"0#")
Else
suite:
.Offset(1, 0) = Year(Date) & "-" & "01"
End If
End With
EnvoieContrat_recto
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
Else
.Range("A" & L).Value = "Non signé"
Call Trie
Call MiseEnFormeDossier(Range([A65536].End(xlUp)(1),
[AK65536].End(xlUp)(1)))
Call LargueurAutomatique
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
End If

Mais cela ne tiens pas compte si des contrats sont déja enregistrés, pour
créer un nouveau n° de contrat a la suite des autres, quelles erreur(s)
ai-je faite?

Exemple si j'ai déja créer :

2004-01
2004-02
2004-03

Et bien que cela continu en faisant 2004-04

Merci, pour tes conseils, Ouille

"LeSteph" a écrit dans le message de
news:4128d8d9$0$16915$
Re Bonsoir,
Voici ce qu'il faut affecter au bouton:

Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range

Set myr = Range("a8:a65536")
Set isect = Intersect(myr, Cells(ActiveCell.Row, 1))
If isect Is Nothing Then
Exit Sub
Else


If isect Like "20*" Or isect Like "19*" Then
MsgBox "Déjà daté"

Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


isect = Format(Now, "yyyy") & _
Format(numC, "00")

End If


End If
End Sub

"Ouille" a écrit dans le message de
news:%
LeSteph, le forum

Merci, por ta réponse.

Je fais comme passion de l'animation de soirée et éclairage
sonorisation



de
spectacles.

Quand je rentre un nouveau client, et a la validation, j'ai deux
moyens



de
créer un contrat :

Avec une MsgBox, qui me demande a la validation, "Le contrat est il
signé?",

oui ou non.

Si oui cela me créer automatiquement un nouveau numéro au format Année
+



deux chiffres, à la suite de ceux déja créer

Si non, cela m'indique dans la même colonne, "Non-Signé"

Et si quelques temps aprés, le contrat est signé, je faits une
recherche


par nom, qu'un test se fasse si le contrat est signé ou non, qu'un
bouton


s'affiche et qu'une fois cliqué dessus, que cela me supprime,
"Non-Signé"


pour me le remplacer par un nouveau numéro de contrat.

Voila, j'espère avoir été plus claire.

Merci, Ouille

"LeSteph" a écrit dans le message de
news:4128595a$0$29667$
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais
pouvoir

lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 -
28




...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer
"non



signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui
pourrait

être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au
dessus




des
volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la
cellule




devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre
a8




et
a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche
un




MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le
numéro.




Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans
une




boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la
variable


si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le
plus




élevé
pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a
pplication,





pour
créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et
fait




au
premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire
de





la
ligne
8), mais par contre si le contart a signé est fait ulterieurement,
cela



indique dans une celulle "Non-signé" (La même colonne que pour le






de
contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir
lors




de
la
signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille




















Avatar
LeSteph
Bonsoir Ouille,

Si tu es sûr que aucun vide n'intervient entre
début et fin on peut prévoir une sortie de boucle
sur cette alternative.
Après on peaufinera

Application.ScreenUpdatingúlse
ou autre allègement.

Là tt de suite j'ai des trucs/ le feu ,
pour ton code reste des détails incompris
envoie le tout sur ma bal perso si te convient
(PJ indterdites sur forum)
y compris les call ou autres routines annexes
que j'aie une vue plus globale.
Ou bien un modèle réduit qui tourne


Tu enlève le Le et remplace la frite par free.

Je m'y recolle dès que possible.

LeSteph




"Ouille" a écrit dans le message de
news:
Le Steph, le Forum

Bon, ton code fonctionne nickel.
J'ai essayé de faire ensorte que la recherche s'effectue, de la dernière
ligne écrite a la première, pour que cela soit un peu plus rapide, a
l'éxécution, mais en vains.

Ensuite j'ai ce code dans le bouton pour valider lors de la création de la
fiche renseignements, avant de créer le contrat :

dim réponse
réponse = MsgBox("Voulez-vous établir le contrat maintenant ? ", vbYesNo
+

vbQuestion, "VALIDATION")
If réponse = vbYes Then
With .Range("A65536").End(xlUp)(1)
On Error GoTo suite
If IsNumeric(CInt(Right(.Value, 1))) Then
.Offset(1, 0) = Year(Date) & "-" &
Format(Right(.Value,

2) + 1, _
"0#")
Else
suite:
.Offset(1, 0) = Year(Date) & "-" & "01"
End If
End With
EnvoieContrat_recto
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
Else
.Range("A" & L).Value = "Non signé"
Call Trie
Call MiseEnFormeDossier(Range([A65536].End(xlUp)(1),
[AK65536].End(xlUp)(1)))
Call LargueurAutomatique
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
End If

Mais cela ne tiens pas compte si des contrats sont déja enregistrés, pour
créer un nouveau n° de contrat a la suite des autres, quelles erreur(s)
ai-je faite?

Exemple si j'ai déja créer :

2004-01
2004-02
2004-03

Et bien que cela continu en faisant 2004-04

Merci, pour tes conseils, Ouille

"LeSteph" a écrit dans le message de
news:4128d8d9$0$16915$
Re Bonsoir,
Voici ce qu'il faut affecter au bouton:

Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range

Set myr = Range("a8:a65536")
Set isect = Intersect(myr, Cells(ActiveCell.Row, 1))
If isect Is Nothing Then
Exit Sub
Else


If isect Like "20*" Or isect Like "19*" Then
MsgBox "Déjà daté"

Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


isect = Format(Now, "yyyy") & _
Format(numC, "00")

End If


End If
End Sub

"Ouille" a écrit dans le message de
news:%
LeSteph, le forum

Merci, por ta réponse.

Je fais comme passion de l'animation de soirée et éclairage
sonorisation



de
spectacles.

Quand je rentre un nouveau client, et a la validation, j'ai deux
moyens



de
créer un contrat :

Avec une MsgBox, qui me demande a la validation, "Le contrat est il
signé?",

oui ou non.

Si oui cela me créer automatiquement un nouveau numéro au format Année
+



deux chiffres, à la suite de ceux déja créer

Si non, cela m'indique dans la même colonne, "Non-Signé"

Et si quelques temps aprés, le contrat est signé, je faits une
recherche


par nom, qu'un test se fasse si le contrat est signé ou non, qu'un
bouton


s'affiche et qu'une fois cliqué dessus, que cela me supprime,
"Non-Signé"


pour me le remplacer par un nouveau numéro de contrat.

Voila, j'espère avoir été plus claire.

Merci, Ouille

"LeSteph" a écrit dans le message de
news:4128595a$0$29667$
Bonjour,
J'ai bien une idée mais ne comprend pas bien certains détails:
******
"Ouille" a écrit
"je créer un numéro de contrat (Qui est automatique"..."je voudrais
pouvoir

lors de la
signature du contrat, faire cette numérotation automatiquement."
Il le serait déjà?.....sinon??

format Année + N° a deux chiffres (comment est il obtenu format
personnalisé ou formule concaténation de deux colonnes ou les deux

et comment se présente-t-il réellement ? 2004 28 ou 200428 ou 04 -
28




...2004-28...etc
La date figure-t-elle ailleurs dans une colonne?
N'aurait-on jamais plus de 99 contrats par An?
Dès lors qu'il n'y a pas de numéro est-il indispensable d'indiquer
"non



signé"
....
*****

Voici selon l'idée que je m'en fais en attendant précisions ce qui
pourrait

être envisagé en VBA
Postulat : On insère un bouton "Signature" dans la feuille au
dessus




des
volets figés,
quand un contrat est signé
Pour désigner quel contrat on se place sur la
cellule




devant recevoir un numéro
Lorsqu'on clique sur le bouton si on est pas entre
a8




et
a65536 rien ne se passe car c'est une mauvaise manip.
sinon
si la cellule contient déjà quelquechose on affiche
un




MsgBox "Cette cellule n'est pas vide"
sinon c'est qu'elle est vide et on y colle le
numéro.




Pour obtenir le numéro
on crée une variable, on balaie ("a8:a65536") dans
une




boucle si les 4 premiers caractères
de la cellule sont égaux à l'année en cours
on récupère les deux derniers (le numéro) dans la
variable


si leur valeur est supérieure à la variable .
A la fin de la boucle on aura ainsi le numéro le
plus




élevé
pour l'année en cours
on y ajoutera 1 et voilà.

Cela donnerait ceci:
'*********
Private Sub CommandButton1_Click()
Dim numC As Integer
Dim myr As Range
Dim isect As Range
Set myr = Range("a8:a65536")
Set isect = Intersect(myr, ActiveCell)
If isect Is Nothing Then
Exit Sub
Else
If ActiveCell <> "" Then
MsgBox "Cette cellule n'est pas vide"
Else

For Each c In myr.Cells
If c.Value <> "" Then
If Mid(c, 1, 4) = Format(Now, "yyyy") Then
If CInt(Right(c, 2)) > numC Then
numC = CInt(Right(c, 2))
End If
End If
End If
Next
numC = numC + 1


ActiveCell = Format(Now, "yyyy") & " - " & _
Format(numC, "00")

End If


End If
End Sub
'*******

LeSteph

"Ouille" a écrit dans le message de
news:
Salut toutes et tous,

Cela dois fair 3 mois que j'avais commencé une petite a
pplication,





pour
créer des contrats.

La partie ou je but, est si dans le cas ou le contrat a signé et
fait




au
premier rendez-vous (Qui est automatique, au
format Année + N° a deux chiffres mis dans Colonne A, a partire
de





la
ligne
8), mais par contre si le contart a signé est fait ulterieurement,
cela



indique dans une celulle "Non-signé" (La même colonne que pour le






de
contrat Colonne A, a partire de la ligne 8 )je voudrais pouvoir
lors




de
la
signature du contrat, faire cette numérotation automatiquement.

Merci, pour vos idées, Ouille