inserer des colonnes de façon automatique dans plusieurs feuilles d'un même fichier

pacale19

XLDnaute Nouveau
Bonjour,

J'ai 7 feuilles du lundi au samedi et j'aimerai insérer de façon automatique des colonnes identiques aux colonnes C ; E; G; et I après celles-ci.
J'ai essayé ce code mais ça recopie plusieurs fois que ma colonne B :



Sub Macro ()

For n = 1 To 40 Step 2
Columns(40).ClearContents
Columns("C:C").Select
Selection.Copy
Columns(n).Insert Shift:=xlToRightn = n + 1
Columns("E:E").Select
Selection.Copy
Columns(n).Insert Shift:=xlToRightn = n + 1
Columns("G:G").Select
Selection.Copy
Columns(n).Insert Shift:=xlToRightn = n + 1
Columns("I:I").Select
Selection.Copy
Columns(n).Insert Shift:=xlToRightn = n + 1


Next n
End Sub

Il me faut au plus 40 colonnes de chaque (Les vertes) dans chaque feuille.
d'avance merci.
 

Pièces jointes

  • Classeur2.xlsx
    32.2 KB · Affichages: 44
  • Classeur2.xlsx
    32.2 KB · Affichages: 34

Paf

XLDnaute Barbatruc
Re : inserer des colonnes de façon automatique dans plusieurs feuilles d'un même fich

Bonjour

a priori:

Code:
Sub MacroQuiNeMarcheQuuneFois()
 Dim NbCol As Integer, i As Integer, Sh As Worksheet

 NbCol = 40  'Nombre de colonnes à adapter
 Application.ScreenUpdating = False
 For Each Sh In Worksheets
    For i = 9 To 3 Step -2
        Sh.Columns(i).Copy
        Sh.Columns(i).Resize(, NbCol).Insert Shift:=xlToRight
    Next
 Next
 Application.CutCopyMode = False
 Application.ScreenUpdating = True
End Sub

A n'utiliser qu'une fois !
à la première utilisation on va copier et insérer les colonnes I; G; E et C (soit de 9 à 3 step -2 )
pour une deuxième utilisation , les colonnes 9 à 3 step-2 ne seraient plus les bonnes.

A+
 

pacale19

XLDnaute Nouveau
Re : inserer des colonnes de façon automatique dans plusieurs feuilles d'un même fich

Bonjour

a priori:

Code:
Sub MacroQuiNeMarcheQuuneFois()
 Dim NbCol As Integer, i As Integer, Sh As Worksheet

 NbCol = 40  'Nombre de colonnes à adapter
 Application.ScreenUpdating = False
 For Each Sh In Worksheets
    For i = 9 To 3 Step -2
        Sh.Columns(i).Copy
        Sh.Columns(i).Resize(, NbCol).Insert Shift:=xlToRight
    Next
 Next
 Application.CutCopyMode = False
 Application.ScreenUpdating = True
End Sub

A n'utiliser qu'une fois !
à la première utilisation on va copier et insérer les colonnes I; G; E et C (soit de 9 à 3 step -2 )
pour une deuxième utilisation , les colonnes 9 à 3 step-2 ne seraient plus les bonnes.

A+

Bonsoir Paf

Merci je vais essayer et je te tiens au courant
Bonne soirée
A+
 

Discussions similaires

Réponses
8
Affichages
681
Réponses
13
Affichages
2 K

Statistiques des forums

Discussions
312 492
Messages
2 088 902
Membres
103 982
dernier inscrit
krakencolas