Incrémenter un nombre dans une feuille Excel

Résolu
halfernet Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   -  
halfernet Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   -
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 ?
A voir également:

3 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

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
1
halfernet Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   27
 
Merci, je vais essayer ça, je te tien au courant !
1
halfernet Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   27
 
Re : Parfait, c'est au poil ! je te remercie grandement.
-1