Bjr a tous.
sur le fichier joint je souhaiterai faire une macro permettant 2 choses:
- archiver certaines données dans un autre onglet
- Vider les cellules bleu de l'onglet "Devis"
Pour l'archivage, je souhaiterai recuperer les données écrites dans les cellules C12, G2, G7 et G21 de l'onglet "Devis" et les copier dans l'onglet "Archives" respectivement dans les cellules: A5, B5, C5, D5.
Une fois cette copie faite, l'onglet "Devis" est réinitialiser en supprimant toutes les cellules bleues.
Sub archivage()
Dim a(4)
a(0) = [C12]: a(1) = [G2]
a(2) = [G7]: a(3) = [G21]
Dim tbl As ListObject
Set tbl = Sheets("Archive").ListObjects(1)
tbl.ListRows.Add.Range.Resize(1, UBound(a) + 1).Value = a
End Sub
NB: Au préalable, j'ai nettoyé Tableau4 ainsi
Lance la macro plusieurs fois, en étant sur la feuille Devis et en ajoutant une nouvelle quantité entre chaque exécution.
Slt, effectivement pour la suppression j'y ai pas pensé mais tt "simple" pas vraiment le reflexe de l'enregistreur
Par contre pour la copie de l'onglet à un l'autre?
Sub archivage()
Dim a(4)
a(0) = [C12]: a(1) = [G2]
a(2) = [G7]: a(3) = [G21]
Dim tbl As ListObject
Set tbl = Sheets("Archive").ListObjects(1)
tbl.ListRows.Add.Range.Resize(1, UBound(a) + 1).Value = a
End Sub
NB: Au préalable, j'ai nettoyé Tableau4 ainsi
Lance la macro plusieurs fois, en étant sur la feuille Devis et en ajoutant une nouvelle quantité entre chaque exécution.
Sub archivage()
Dim a(4)
a(0) = [C12]: a(1) = [G2]
a(2) = [G7]: a(3) = [G21]
Dim tbl As ListObject
Set tbl = Sheets("Archive").ListObjects(1)
tbl.ListRows.Add.Range.Resize(1, UBound(a) + 1).Value = a
End Sub
NB: Au préalable, j'ai nettoyé Tableau4 ainsi Regarde la pièce jointe 1179022
Lance la macro plusieurs fois, en étant sur la feuille Devis et en ajoutant une nouvelle quantité entre chaque exécution.