Créer un nouveau numéro en fonction du précédent
Bonjour le forum,
encore moi
Excusez moi pour le titre , je ne savais vraiment quoi mettre.
Voila j'ai un fichier excel avec différentes feuilles qui sont créées au fur et a mesure quand je click sur un bouton de commande qui s'y trouve .
Mon problème: J'ai une feuille 1 sur laquelle je travaille , Je souhaiterais que lorsque je crée la feuille2 , automatiquement le 1er numéro dans la cellule C4 se crée aussi. Ce numéro est égal au dernier numéro utilisé sur la feuille1 +1.
Exemple: Si le dernier numéro utilisé sur la feuille 1 est AB0020 , je souhaiterais que lorsque je crée la feuille 2 la cellule C4 porte automatiquement le numéro AB0021.
Je joins un fichier pour votre compréhension.
Merci pour votre aide.
Bonjour
Nouveau Code
Sub NouveauMois()
Dim NouveauMois As Date
Dim CelluleSolde As Range
'Travailler sur la feuille active
With ActiveSheet
'Copier la feuille en fin de classeur
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Feuil" & Worksheets.Count
Range("C1").Select
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(MID(CELL(""nomfichier"",R1C1),FIND(""]"",CELL(""nomfichier"",R1C1))+1,32),""Feuil"","""")*1-1"
Range("C4").Select
ActiveCell.FormulaR1C1 = _
"=""AB""&TEXT(SUBSTITUTE(INDIRECT(""Feuil""&R[-3]C&""!C""&MATCH(""Total"",INDIRECT(""Feuil""&R[-3]C&""!C:C""),0)-1),""AB"","""")*1+1,""0000"")"
Range("C4").Value = Range("C4").Value
Range("C1").ClearContents
End With
'On a changé de feuille active on travail sur celle du nouveau mois
With ActiveSheet
'Vider les anciennes valeurs
.Range("D4:E4,C5:E23").ClearContents
End With
End SubCordialement
Bonsoir Amadéus
Merci pour ton code il fonctionne bien.
Mais je voudrais bien le comprendre pour pouvoir l'adapter a d'autre fichier sans avoir a le demander au forum.
Comment interprete t-on ces codes?
ActiveSheet.Name = "Feuil" & Worksheets.Count
Range("C1").Select
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(MID(CELL(""nomfichier"",R1C1),FIND(""]"",CELL(""nomfichier"",R1C1))+1,32),""Feuil"","""")*1-1"
Range("C4").Select
ActiveCell.FormulaR1C1 = _
"=""AB""&TEXT(SUBSTITUTE(INDIRECT(""Feuil""&R[-3]C&""!C""&MATCH(""Total"",INDIRECT(""Feuil""&R[-3]C&""!C:C""),0)-1),""AB"","""")*1+1,""0000"")"
Merci pour tes explications
Bonjour Amadéus,
j'ai utilisé ton code dans un autre fichier . Mais le problème c'est que dans ce fichier lorsque mes feuilles sont créées elles sont renommées automatiquement .
Si la feuille sur laquelle je travaille porte le nom "Janvier", lorsque je crée la nouvelle feuille , elle se renomme "Février" et ainsi de suite.
Et donc le code que tu m'as donné ne fonctionne plus.
Comment faire pour adapter cela a ce fichier.
Je joins le fichier en question.
Merci de m'aider une fois de plus.