Insertion de colonnes sans modification de tableaux

Bonjour,

j'ai le tableau en PJ sur la feuille 1 et je souhaite obtenir le tableau en feuille 2. le code suivant me permet d'insérer les mois dont j'ai besoin mais me décale mes tableaux vers la droite ( ce que je ne souhaite pas) .

Option Explicit
Private Sub cmdInsererMois_Click()
Dim nbMois As Integer
Dim i As Integer
    Application.ScreenUpdating = False
    nbMois = Month(Date)
    For i = 1 To nbMois
        Columns(1).Insert
    Next
    For i = 1 To nbMois
        With Cells(1, i + 4)
            .Value = DateSerial(Year(Date), i, 1)
            .NumberFormat = "mmmm"
        End With
    Next
End Sub

Comment y remédier ? je voudrais insérer les mois jusqu'au mois en cours entre les colonnes Objectif et Evolution VS M-1.

Autre chose, le champ "Référence 2013" est également un champ calculé automatiquement : soit le mot "Référénce" concatené avec l'année précédent l'année en cours , comment l'automatiser?

Merci pour vos retours

21test.xlsm (17.66 Ko)

Voilà c'est fait normalement si j'ai tout bien compris

voir le fichier joint

mais voici le code modifié :

Private Sub cmdInsererMois_Click()
Dim nbMois As Integer
Dim i As Integer
    Application.ScreenUpdating = False
    nbMois = Month(Date)
    'met référence 20XX dans la cellule C1
    Range("C1") = "Référence " & Year(Date)
    'insert le nombre de colonnes nécéssaires a partir de la colonne E
    Columns("E").Resize(, nbMois).Insert

    For i = 1 To nbMois
        With Cells(1, 4 + i)
            .Value = DateSerial(Year(Date), i, 1)
            .NumberFormat = "mmmm"
        End With
    Next
End Sub

Fred

19test-sqltrysh.xlsm (17.58 Ko)

Merci Fred2406 !

ça fonctionne très bien .

J'ai juste modifié la ligne de code :

Range("C1") = "Référence " & Year(Date)

par

Range("C1") = "Référence " & Year(Date)-1

vu que je veux l'année précédente

Oups J'avais pas vu que tu voulais l'année précédente....

Fred

Rechercher des sujets similaires à "insertion colonnes modification tableaux"