Incrémenter un nombre dans une feuille Excel

Résolu
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 ?

3 réponses

  1. Contributeur
    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
    1. Merci, je vais essayer ça, je te tien au courant !
      1
      1. Re : Parfait, c'est au poil ! je te remercie grandement.
        -1