Incrementation automatique référence bordereau

Bonjour à tous,

Je voulais encore remercier excel pratique ainsi que tous les membres qui aident les personnes sur Excel car il y a de nombreux exemples qui m'ont permis de me débloquer dans pas mal de situations au niveau d'excel.

Là par contre je suis bloquée et je n'arrive pas à me débloquer dans mon nouveau document

J'ai crée une énorme base qui me permet d'enregistrer mes factures de la saisie jusqu'à l'envoi au bon service qui gère la suite de paiement (la compta quoi :p)...

Je vous ai extrait les deux feuilles sur lesquelles je butte complètement.

Voici ce que je voudrais faire :

En cliquant sur le bouton Bouton 2 je cherche à :

1-créer un numéro de bordereau en H2 du type "ABC-date du jour - numéro bordereau

2-sauvegarder toutes les lignes du tableau ci-dessous (si elle sont remplies) et de les remettre dans la feuille "historique d'envoi" avec en première ligne le numéro de bordereau

3- effacer la colonne du tableau (de B22 à B40) car dans les deux autres colonnes il y a une RECHERCHEV à partir de ma base générale

4- créer un nouveau numéro de bordereau pour le prochain enregistrement. PLEASE HELP

Merci par avance pour votre aide

20bordereau-test.xlsx (38.35 Ko)

Bonjour,

à tester,

Sub test()
Set sh1 = Sheets("Bordereau (2)")
Set sh2 = Sheets("historique_envoi (2)")
rw1 = sh1.Cells(Rows.Count, 2).End(xlUp).Row
rw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1

tb = sh1.Range("B22:E" & rw1)
For i = LBound(tb) To UBound(tb)
    sh2.Cells(rw2, 1) = sh1.Range("H1")
    sh2.Cells(rw2, 2) = Date
    sh2.Cells(rw2, 3) = tb(i, 1)
    sh2.Cells(rw2, 4) = tb(i, 2)
    sh2.Cells(rw2, 5) = tb(i, 4)
    rw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
Next

Rows("22:" & rw1).Delete Shift:=xlUp
v = Split(sh1.Range("H1"), "-")
no = CInt(v(UBound(v))) + 1
sh1.Range("H1") = "ABC-" & Format(Date, "yyyymmdd") & "-" & Format(no, "00")
End Sub

La routine fonctionne cependant je cherche à supprimer le contenu sans our autant supprimer les lignes.

J'ai essayé de changer le ".Delete" en .Clearcontents ça ne fonctionne pas.

Le plus simple c'est que je supprime manuellement car au niveau du tableau de base j'ai des formules de ce type d'imputées :

"=SI(ESTNA(RECHERCHEV(B23;'BASE'!A:AB;3;FAUX));"";RECHERCHEV(B23;'BASE!A:AB;3;FAUX))"

en tout cas merci

re,

ou bien unique ment la colonne B

Range("B22:B" & rw1).ClearContents

re,

ou bien unique ment la colonne B

Range("B22:B" & rw1).ClearContents
Rows("22:" & rw1).Delete Shift:=xlUp
v = Split(sh1.Range("H1"), "-")
no = CInt(v(UBound(v))) + 1
sh1.Range("H1") = "ABC-" & Format(Date, "yyyymmdd") & "-" & Format(no, "00")

J'essaie de remplacer la première ligne par le code ci-dessous mais ça ne fonctionne pas j'ai une erreur d'exécution '13 (incompatibilité de type)

Pouvez-vous m'expliquer pourquoi ça ne fonctionne pas

Merci par avance

re,

voici le fichier avec la macro,

je rencontre encore une erreur d'exécution '13 (incompatibilité de type)

sur la ligne

no = CInt(v(UBound(v))) + 1

Que dois-je faire ?

je rencontre encore une erreur d'exécution '13 (incompatibilité de type)

sur le fichier que j'ai transmis ou sur un autre fichier ?

C'était sur un autre fichier, j'ai trouvé la solution, j'avais légèrement modifier le document, ce qui explique l'erreur.

Merci encore pour m'avoir aider

Bonne Journée

Merci pour ce retour, au plaisir!

si le problème est résolu, s.v.p. clôture le fil, par un clic sur le bouton (indiquer par la flèche verte)

resolu
Rechercher des sujets similaires à "incrementation automatique reference bordereau"