Copier et Insérer les 2 dernière colonnes après la dernière colonne

mat175

XLDnaute Nouveau
Bonjour à tous,

Je viens demander un peu d'aide sur excel 2010. D'habitude j'y arrive tout seul mais là ... ça fait 2 fois en peu de temps que je sèche complètement. Peut être que je veux faire trop compliqué.

Je voudrais faire plusieurs choses:
1/ Copier les 2 dernière colonne de mon tableau

2/ les insérer après la dernière colonne (insérer est important car elles contiennent des formules qui autrement nécessiteraient un collage spéciale. De plus le nombre de données va augmenter régulièreemnt et je souhaite que le bouton de déclenchement de la macro soit toujours visible pour les utilisateurs)

3/ copier les valeurs (seulement les valeurs) des deux colonnes initialement copier sur elles même afin de conserver les valeurs de ce mois mais pas les formules.

4/ supprimer les données de l'onglet d'importation (ne pas supprimer les colones en elles même sinon les formules de l'autre onglet ne fonctionneront plus)


J'en demande peut être trop a excel. En tout cas c'est trop pour moi ^^.

Je vous joint un extrait de fichier pour aider à la compréhension.

Merci à ceux qui voudront bien m'aider.
 

Pièces jointes

  • test.xls
    40 KB · Affichages: 40
  • test.xls
    40 KB · Affichages: 37
  • test.xls
    40 KB · Affichages: 42

Yaloo

XLDnaute Barbatruc
Re : Copier et Insérer les 2 dernière colonnes après la dernière colonne

Re,

Sinon avec cette macro :

VB:
Sub Copier_Insérer()
Dim DerCol&, DerLig&, Plage As Range, Pl
DerCol = Cells(6, Columns.Count).End(xlToLeft).Column
DerLig = Cells(Rows.Count, 1).End(xlUp).Row
Set Plage = Range(Cells(6, DerCol - 1), Cells(DerLig, DerCol))
Pl = Plage
Plage.Insert Shift:=xlToRight
Plage.Offset(, -2) = Pl
Sheets("Onglet d'importation").Columns("A:C").ClearContents
End Sub

A+

Martial
 

mat175

XLDnaute Nouveau
Re : Copier et Insérer les 2 dernière colonnes après la dernière colonne

Merci beaucoup, je vais tester ça.

Pourquoi ça doit être automatique? Parce que les personnes qui vont utiliser ce fichier ne maitrisent pas tres bien, pour na pas dire pire , excel. Avec les manipulations que je vais leur demander, je pense être déjà au max, voir au delà. Donc si je veux que le fichier tourne, il faut leur faciliter la tache.
 

mat175

XLDnaute Nouveau
Re : Copier et Insérer les 2 dernière colonnes après la dernière colonne

En fait ça marche super, sauf une chose.

Je dois avoir les lignes 4 et 5 pour avoir les dates. Quand je les insert à la main, ça marche parfaitement et les cellules se mettent à jour automatiquement.

Mais avec la maccro, la date ne se met pas à jour et je ne sais pas pourquoi.

Voici le code comme je l'ai adapté.
Code:
Sub Enregistrement()
Dim DerCol&, DerLig&, Plage As Range, Pl
DerCol = Cells(4, Columns.Count).End(xlToLeft).Column
DerLig = Cells(Rows.Count, 1).End(xlUp).Row
Set Plage = Range(Cells(4, DerCol - 1), Cells(DerLig, DerCol))
Pl = Plage
Plage.Insert Shift:=xlToRight
Plage.Offset(, -2) = Pl
Sheets("Onglet d'importation").Columns("A:C").ClearContents
End Sub

Si quelqu'un sais quoi faire, ça serait top.
 

Yaloo

XLDnaute Barbatruc
Re : Copier et Insérer les 2 dernière colonnes après la dernière colonne

Bonsoir mat175,

Comme ça, peut-être :

VB:
Sub Enregistrement()
 Dim DerCol&, DerLig&, Plage As Range, Pl
 DerCol = Cells(4, Columns.Count).End(xlToLeft).Column
 DerLig = Cells(Rows.Count, 1).End(xlUp).Row
 Set Plage = Range(Cells(4, DerCol - 1), Cells(DerLig, DerCol))
 Pl = Plage
 Plage.Insert Shift:=xlToRight
 Plage.Offset(, -2) = Pl
 Cells(4, DerCol + 1).FormulaR1C1 = "=EDATE(RC[-1],1)"
 Sheets("Onglet d'importation").Columns("A:C").ClearContents
End Sub

A+

Martial
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 292
Membres
103 171
dernier inscrit
clemm