Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Automatisation - Copier coller

MCenpls

XLDnaute Nouveau
Bonjour à tous,

J'aimerais automatiser le copier coller d'un fichier Excel.

En effet, je dois copier coller en valeur (car formules) les données d'une feuille à une autre puis refaire la même manip pour copier coller ces mêmes données en liste.

J'aimerais gagner du temps et arrêter cette manipulation et voir si possible l'automatiser.

Je vous mets un fichier Excel avec les données calculées (colorées en jaune) et le résultat que j'aimerais.

Si vous avez des idées, je suis preneuse.

Bonne journée
 

Pièces jointes

  • essai.xlsx
    12.1 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour MCenpls,
J'ai supposé qu'il fallait transférer la plage jaune, et que celle ci était de taille fixe.
Un essai en PJ avec cette macro qui s'exécute automatiquement lorsqu'on sélectionne la feuille "Résultat souhaité" :
VB:
Sub Worksheet_Activate()
Cells.Clear
T = Sheets("Data").[A3:D8]
For i = 1 To UBound(T)
    For j = 1 To UBound(T, 2)
        Cells(j, i) = T(i, j)
    Next j
Next i
[A1].CurrentRegion.Borders.Weight = xlThin
End Sub
Mais on peut mettre l'exécution sur demande si cette solution ne vous va pas.
 

Pièces jointes

  • essai.xlsm
    16.7 KB · Affichages: 3

MCenpls

XLDnaute Nouveau
Bonjour,

Merci beaucoup pour votre réponse et pour le temps que vous avez pris pour répondre à ma question.

Cependant, je pense n'avoir pas assez détaillé ma problématique.

En réalité, la partie jaune est aléatoire et change en fonction des noms que j'aurais sur une période.
De même je vais avoir plusieurs tableaux sur différentes feuilles avec les mêmes calculs.
Et a chaque fois c'est une nouvelle feuille que je créer, je rajoute ensuite par un copier coller les informations dans "Résultat souhaité" au fur et à mesure de l'année.

J'ai fais un second Excel avec un exemple.

Pensez-vous que cela est possible ?
 

Pièces jointes

  • essai.xlsx
    15.3 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Difficile à deviner.
Un nouvel essai en PJ. Avec :
VB:
Sub CopyPaste()
T = ActiveSheet.[A3].CurrentRegion
With Sheets("Résultat souhaité")
    L = .Cells(.Cells.Rows.Count, "A").End(xlUp).Row
    For i = 2 To UBound(T)
        For j = 1 To UBound(T, 2)
            .Cells(L + j, i - 1) = T(i, j)
        Next j
    Next i
    .[A1].CurrentRegion.Borders.Weight = xlThin
    .Rows(L + 1).Delete Shift:=xlUp
    Erase T
End With
End Sub
La macro se lance par ALT+F8 et CopyPaste, ou vous mettez un bouton sur chaque feuille pour faire le transfert.
J'ai supposé que sur chaque feuille c'était les mêmes items.
 

Pièces jointes

  • essai (V2).xlsm
    23.9 KB · Affichages: 6

MCenpls

XLDnaute Nouveau
Super merci beaucoup , c'est carrément ce style d'automatisation que je souhaite.

Par contre lorsque je créer une nouvelle feuille avec mes "calculs jaunes", l'automatisation ne fonctionne pas, est ce qu'il va falloir que j'alimente la VBA à chaque fois que je créer une nouvelle feuille?

De même, les items ne sont pas toujours les mêmes.

Est-ce que vous avez une autre idée ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Troisième message avec trois spécifications différentes. Donc il y a peu de chances que ça s'arrête.
Il est impossible de converger. Vos PJ ne sont pas représentative. A chaque fois il faut recommencer.
De même, les items ne sont pas toujours les mêmes.
Alors cette macro ne peut pas marcher, il vous en faut une autre. Donc je recommence ?
En fai non. En espérant que quelqu'un de plus patient, et plus perspicace, passe par là.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…