Sub AJOUT_COLONNE()
For i = 1 To Range("A1")
Sheets(Array("Feuil1", "Feuil2")).Select
Columns("F:F").Insert Shift:=xlDown
Sheets("Feuil1").Select
Next i
End Sub
Il a pour but d'insérer un certains nombres (défini en A1) de colonnes (arbitrairement à partir de F:F). Je sélectionne les deux feuilles, toujours en vba, mais l'ajout des colonnes ne se fait que sur la feuil1
Entre autres possibles et parceque VBA ne sait pas travailler en groupe de feuilles je vous propose ceci, avec un parcours de chaque feuille du tableau.
Vous remarquerez que je qualifie pleinement les réferences aux classeurs et feuilles et déclare toutes les variables.
Les SELECT sont rarement nécessaires ou utiles
VB:
Sub AJOUT_COLONNE()
Dim nbCols As Integer
Dim ws As Worksheet
'
' Indiquer à la macro sur quel classeur elle travaille
With ThisWorkbook
'Récupérer le nombre de colonnes à insérer
nbCols = .Sheets("Feuil1").Range("A1")
' Parcourir les feuilles du tableau
For Each ws In .Sheets(Array("Feuil1", "Feuil2"))
' insérer NbCols à partir de F
ws.Columns("F:F").Resize(, nbCols).Insert xlShiftToRight
Next
End With
End Sub
Entre autres possibles et parceque VBA ne sait pas travailler en groupe de feuilles je vous propose ceci, avec un parcours de chaque feuille du tableau.
Vous remarquerez que je qualifie pleinement les réferences aux classeurs et feuilles et déclare toutes les variables.
Les SELECT sont rarement nécessaires ou utiles
VB:
Sub AJOUT_COLONNE()
Dim nbCols As Integer
Dim ws As Worksheet
'
' Indiquer à la macro sur quel classeur elle travaille
With ThisWorkbook
'Récupérer le nombre de colonnes à insérer
nbCols = .Sheets("Feuil1").Range("A1")
' Parcourir les feuilles du tableau
For Each ws In .Sheets(Array("Feuil1", "Feuil2"))
' insérer NbCols à partir de F
ws.Columns("F:F").Resize(, nbCols).Insert xlShiftToRight
Next
End With
End Sub