Créer un bouton pour copier-insérer deux colonnes à un endroit précis

15heure-mensuels.xlsx (17.85 Ko)

Bonjour, ceci est mon premier ''post'' sur ce forum, soyer un peu indulgent svp . Je ne suis vraiment pas familier avec tout ce qui est VBA. La plus part du temps je viens justement sur des forum comme celui-ci trouver ce que je cherche, mais cette fois ci je ne trouve pas. Voici ma situation :

- Chaque mois, je dois faire un rapport du nombre d'heure que mes équipements on fait durant le mois ( environ 300 équipements ). Ce que j'aimerais faire à l'aide de VBA c'est de créer un bouton qui pourrait copier les 2 colonnes de mon dernier mois ( Qui est ''Q'' et ''R'' en ce moment dans le fichier ) et de les insérer avant la colonne ''S'' ( Avant ''Hres totale 6 mois'' ).

-En deuxième lieu, ce serait de prendre mes heures actuels de mes équipements , colonne ''V'' ( Qui provient d'une base de données externe, que j'ai simulé sur la feuille ''Hrs equipement'' ) et de coller la valeurs dans la colonne ''Lecture fin de mois '' de mon nouveau mois qui a été créer au paravant, qui serait Aout-20. et bien sur tout en respectant le numéro d'équipement.

- Pour terminer, ce serait aussi que mes calculs ''Hres totales 6 mois '' et ''Hres totales 7 mois '' calcul automatiquement mes 6 et 7 derniers mois. Sinon je dois changer la formule manuellement.

Un gros merci d'avance pour vos solution et commentaire.

Bonjour,

Un test avec 3 plages nommées que son H, TOT et FIN pour conserver les références malgré les insertions de colonnes :

Sub BILAN()
With Worksheets("RAPPORT").Range("FIN")
    .Columns.Offset(, -2).Resize(, 2).EntireColumn.Copy
    .Columns.EntireColumn.Insert xlToRight
    .Offset(3, -2).Resize(Range("H").Rows.Count) = Range("H").Value 'Colle heures en valeur
    .Offset(, -1) = DateAdd("m", 1, .Offset(, -3)) 'Incrémente d'un mois
    .Offset(3).FormulaR1C1 = "=RC[-11]+RC[-9]+RC[-7]+RC[-5]+RC[-3]+RC[-1]" 'Somme relative sur 6 mois
    .Offset(3, 1).FormulaR1C1 = "=RC[-1]+RC[-13]" 'Somme relative sur 7 mois
    .Offset(3).Resize(1, 2).Copy 'Copie formules
    Range("TOT").PasteSpecial xlPasteFormulas 'Colle sur range TOT
End With
MsgBox "Mise à jour terminée", vbInformation
End Sub

Et le fichier qui va bien avec.

Je vous laisse tester et revenir vers moi le cas échéant.

Cdlt,

WOW c'est en plein ce que j'avais de besoin. Un gros merci ca me donne un méchant bon coup de main .

Rechercher des sujets similaires à "creer bouton copier inserer deux colonnes endroit precis"