Microsoft 365 Copie cellules dans un autre onglet

julien1982

XLDnaute Occasionnel
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.

Merci par avance pour aide.
 

Pièces jointes

  • Intervention RR.xlsm
    37.5 KB · Affichages: 3
Solution
Re

Pour la copie, ceci fonctionne sur mon PC
Code:
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
Tableau_Capture.PNG

Lance la macro plusieurs fois, en étant sur la feuille Devis et en ajoutant une nouvelle quantité entre chaque exécution.

julien1982

XLDnaute Occasionnel
Bonsoir @julien1982, le fil

@julien1982
Pourquoi ne pas avoir utiliser l'enregistreur de macros ?
Je viens de le faire
Code:
Sub Macro1()
Range("C7:E9,G7,C10,D11:E11,B14:B20").ClearContents
End Sub
Je te laisse tester pour voir quelle point de ta question cette macro s'occupe
;)
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?


G2 --> B5
G7 --> C5
C1 --> A5
G27 --> D5
 

Staple1600

XLDnaute Barbatruc
Re

Pour la copie, ceci fonctionne sur mon PC
Code:
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
Tableau_Capture.PNG

Lance la macro plusieurs fois, en étant sur la feuille Devis et en ajoutant une nouvelle quantité entre chaque exécution.
 

julien1982

XLDnaute Occasionnel
Re

Pour la copie, ceci fonctionne sur mon PC
Code:
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.
C'est parfait! c'est top comme manière ça marche nickel.
Merci a vous tous!
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 228
Membres
103 160
dernier inscrit
Torto