Excel: incrémenter dernière cellule complétée

Résolu
Bonjour à tous,

sous excel 2003, j'ai un document de facturation avec 2 boutons qui
commandent chacun une macro: la première copie les champs de la feuille
"facture" vers une autre feuille "historique_factures" et la seconde macro
créé un PDF à partir du fichier excel.

Voici le fichier-exemple: https://www.cjoint.com/?hDpyuIDdbp

Je souhaiterais que lorsque j'ouvre mon document de facturation, le champ
"référence" de la feuille "facture" se remplisse d'office et automatiquement
en fonction de la référence enregistrée précédemment (ex: Facture_002) dans la feuille "Historique_factures" avec un décalage de +1 dans la référence (la nouvelle référence deviendrait alors "Facture_003"). C'est-à-dire que la cellule "référence" doit trouver quelle était la dernière ligne "référence" utilisée dans "Historique_factures" et rajouter un (ex:003 --> 004).

Et également avoir cette référence qui s'affiche par défaut dans la boîte de
dialogue "enregistrer sous" de ma macro qui créé un PDF.

Je ne sais pas comment faire ça.

Merci d'avance pour votre aide !

6 réponses

  1. Salut,
    Alors le lplus simple pour ton probleme je pense c'est de faire un petit code VBA qui parcour le feuille "historique facture" jusqu'a trouver la derbière ligne, recupere la referance et la reporte avec un +1 dans les cases que tu veut.
    Tu as deja fait du VBA ?
    0
    1. Bonsoir,

      merci pour ta réponse.

      Ce que tu dis est exactement ce que je souhaites.
      Alors pour le VBA je veux bien de l'aide parce que je ne suis pas très doué :/

      Merci !
      0
      1. Merci beaucoup Le Pingou pour ton aide !
        C'est ce que je souhaitais !
        0
        1. Par contre, une fois transféré dans mon document excel,
          j'ai bien renommé la cellule "référence" en RéfFact; j'ai ajouté à ma procédure

          num = Right(Range("RéfFact"), 3) + 1
          Range("RéfFact") = "Facture_" & Format(num, "000")

          Et ça ne fonctionne pas.
          J'ai du oublier une étape. A propos, à quoi sert la macro :

          Sub Macro1()
          '
          ' Macro1 Macro
          '

          '
          Range("B13").Select
          Selection.NumberFormat = "@"
          Selection.NumberFormat = "000"
          End Sub

          ?
          Merci d'avance pour tes éclaircissements Le Pingou

          Cordialement
          0
      2. Bonjour,
        Je suppose que votre nouveau document est vide, est la procédure n'est pas prévue pour créer un numéro mais seulement l'incrémenter.

        Vous devez donc introduire le premier numéro à la main.

        La macro1 () est un oubli de ma part elle peut être supprimée.

        Salutations.
        Le Pingou
        0
        1. Bonjour,

          d'accord j'ai compris. Une simple étourderie de ma part: en fait c'était tout simple il faut effectivement remplir manuellement la cellule "RéfFact" pour le premier numéro :)

          Ca marche nickel. Merci beaucoup de votre aide
          0