Incrémenter un nombre dans une feuille Excel
Résolu
halfernet
Messages postés
305
Statut
Membre
-
halfernet Messages postés 305 Statut Membre -
halfernet Messages postés 305 Statut Membre -
Bonjour,
Je suis en train de créer des fiches techniques pour mon travail, et j'aurai besoin d'incrémenter le n° de chaque fiches à chaque fois que j'imprime, il y a 3 fiches par feuilles excel, j'ai essayé des macros pour d'autres exemples mais il ne s'appliquent pas a moi.
En gros : les cellules K1, AB1 et AS1 possèdent respectivement le numéro "E101", "E102" et "E103".
Si j'imprime,
les cellules K1, AB1 et AS1 devraient posséder respectivement le numéro "E104", "E105" et "E106" et ainsi de suite...
Question subsidiaire (qui n'est pas primordiale) : Peut-on imprimer 200 exemplaires dans cette optique là, sans que sa n'imprime les 200 pages identiques ?
Je suis en train de créer des fiches techniques pour mon travail, et j'aurai besoin d'incrémenter le n° de chaque fiches à chaque fois que j'imprime, il y a 3 fiches par feuilles excel, j'ai essayé des macros pour d'autres exemples mais il ne s'appliquent pas a moi.
En gros : les cellules K1, AB1 et AS1 possèdent respectivement le numéro "E101", "E102" et "E103".
Si j'imprime,
les cellules K1, AB1 et AS1 devraient posséder respectivement le numéro "E104", "E105" et "E106" et ainsi de suite...
Question subsidiaire (qui n'est pas primordiale) : Peut-on imprimer 200 exemplaires dans cette optique là, sans que sa n'imprime les 200 pages identiques ?
A voir également:
- Incrémenter un nombre dans une feuille Excel
- Nombre de jours entre deux dates excel - Guide
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
3 réponses
Bonjour,
Une proposition en vba selon ce que j'ai compris :
Les cellules à modifier sont à déclarer dans le array listeCell.
Le contenu est sensé être constitué d'un caractère (quelconque), et d'une partie numérique à incrémenter (après impression) du nombre de cellules listées (ici donc +3)
Le nombre d'exemplaire est demandé (sans contrôle du maxi vu que tu as évoqué 200 possible... mais il faudrait l'envisager).
L'imprimante doit être choisie avant de lancer la macro.
exemple : Classeur1.xls
eric
Une proposition en vba selon ce que j'ai compris :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim nb As Long, i As Long, c As Long, sh As Worksheet
Dim listeCell(), nbCell As Long, part1 As String, part2 As Long
listeCell = Array("C1", "E1", "G1")
nbCell = UBound(listeCell) + 1
Set sh = ActiveSheet
If sh.Name <> "Feuil1" Then Exit Sub
Cancel = True
On Error GoTo suite
nb = CInt(InputBox("Nombre d'exemplaires à imprimer ", "Impression"))
On Error GoTo 0
Application.EnableEvents = False
For i = 1 To nb
' imprimer feuille
sh.PrintOut Copies:=1, Collate:=True
' n° suivants
For c = 0 To nbCell - 1
part1 = Left(sh.Range(listeCell(c)), 1)
part2 = CInt(Mid(sh.Range(listeCell(c)), 2))
sh.Range(listeCell(c)).Value = part1 & part2 + nbCell
Next c
Next i
suite:
Application.EnableEvents = True
End Sub
Les cellules à modifier sont à déclarer dans le array listeCell.
Le contenu est sensé être constitué d'un caractère (quelconque), et d'une partie numérique à incrémenter (après impression) du nombre de cellules listées (ici donc +3)
Le nombre d'exemplaire est demandé (sans contrôle du maxi vu que tu as évoqué 200 possible... mais il faudrait l'envisager).
L'imprimante doit être choisie avant de lancer la macro.
exemple : Classeur1.xls
eric