Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Incrémentation

  • Initiateur de la discussion Initiateur de la discussion czac
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

czac

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

cordialement
 

Pièces jointes

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 🙂
 
Re,

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
Fichier (2 bis).

A+
 

Pièces jointes

Re,

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 "####"
  '-----
Fichier (3).

A+
 

Pièces jointes

Bonjour,

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.

merci beaucoup
 
Bonjour czac,

Quand on crée une nouvelle année on ne connaît pas forcément les lettres de la 1ère donnée, c'est pourquoi je mettais des astérisques.

On peut toujours ensuite supprimer cette ligne après l'entrée des vraies données.

Maintenant si vous préférez avoir une 2ème InputBox voyez ce fichier (4).

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
339
Réponses
22
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…