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

[Résolu/Fermé]
Signaler
Messages postés
16
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
5 août 2010
-
Messages postés
16
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
5 août 2010
-
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

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 ?
Messages postés
16
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
5 août 2010

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 !
Messages postés
10509
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
25 octobre 2021
1 221
Bonjour,
Ma proposition, voir sur feuille [Facture] : https://www.cjoint.com/?hExL6ZBV7U
Messages postés
16
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
5 août 2010

Merci beaucoup Le Pingou pour ton aide !
C'est ce que je souhaitais !
Messages postés
16
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
5 août 2010

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
Messages postés
10509
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
25 octobre 2021
1 221
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
Messages postés
16
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
5 août 2010

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