Bonjour,
Pouvez-vous m'aider? ci-joint un fichier où j aimerais que la colonne A (N° BL) s'incrémente automatiquement au fur et à mesure où on va à la ligne.
sur la ligne 2, colonne A par exemple:
- SXB reste figé
- HKG sont des lettres que je mettrais manuellement
- 7701 c'est le chiffre qui doit s'incrémenter
- /17 c'est l'année
c'est 1 tableau par an, donc pour 2018 par exemple, le numéro qui doit s'incrémenter est nouveau.
Je suppose qu'il faut donc que la ligne 2 on note manuellement le chiffre et après tout se fait automatiquement. mais comment ?
ensuite je pense qu'il faut peut-être faire 4 colonnes pour le BL? je sais pas....
j'espère avoir été le plus précis possible merci pour votre aide
yes super, par contre il me faut en début d'année avoir la possibilité de pouvoir mettre les 4 chiffres (dans l'exemple 7701, 7702) qui s'incrémente ensuite automatiquement.
sais pas si j'arrive à me faire comprendre
Je n'aime pas trop la manière dont les noms des tableaux s'incrémentent, ceci va mieux :
Code:
Sub AnneeSuivante()
'se lance par les touches Ctrl+A
Dim nf$, num
nf = ActiveSheet.Name
If ActiveSheet.ListObjects.Count = 0 Or Not nf Like "####" Then Exit Sub
On Error Resume Next
Sheets(CStr(nf + 1)).Activate
On Error GoTo 0
'---création de l'année suivante---
If ActiveSheet.Name = nf Then
num = Abs(Int(Val(InputBox("Entrez le premier numéro de l'année " & nf + 1 & " :"))))
If num = 0 Then Exit Sub
Application.ScreenUpdating = False
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = nf + 1
With Sheets(nf).ListObjects(1).Range.EntireColumn
.Copy Columns(.Column)
ActiveSheet.ListObjects(1).Name = "Tableau" & nf + 1 'nom du tableau mieux adapté...
With ActiveSheet.ListObjects(1).DataBodyRange
If .Rows.Count > 1 Then .Rows(2).Resize(.Rows.Count - 1).Delete xlUp
.Value = ""
.Cells(1) = "SXB***" & num & "/" & Right(nf + 1, 2)
.Cells(1).Select
End With
End With
End If
End Sub
Si l'on veut imposer 4 chiffres au premier numéro :
Code:
'---création de l'année suivante---
If ActiveSheet.Name = nf Then
Do
num = InputBox("Entrez 4 chiffres :", "Création " & nf + 1, IIf(num = "", "0000", num))
If num = "" Then Exit Sub
Loop While Not num Like "####"
'-----
super, par contre est-il possible quand on créer une nouvelle année avec un numéro à 4 chiffres, qu'il y ai la possibilité de mettre tout de suite les 3 premières lettres? car là, ca me met 3 étoiles pour le 1er numéro.