Ajout Supression de colonne suivant un modele

Bonjour,

Mon soucis est simple (il le sont toujours me direz vous) j'ai un classeur avec une feuille recap et des feuille contenant des information que je rapatrie dans la feuille recap

La question est si je rajout ou je suprime une colonne dans un tableau en feuille 2 (qui me sert de modele) comment faire qu'il fasse de meme dans toutes les feuilles suivante ?

Cordialement

Bonjour,

Peut-être en regardant ce lien au paragraphe N°6

https://forum.excel-pratique.com/annonces/explications-et-regles-a-respecter-t13.html

Bonjour,

Merci de ce premier retour au niveau des fichiers je vous transmet ça en pièce jointe

Cordialement

EDIT je vien de trouver un moyen de detecter un ajout ou supression de colonne avec

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Columns(1).Cells.Count = Rows.Count Then
    MsgBox "insertion/suppression de colonnes"
    End If
End Sub

mais je n'arrive pas apres a faire le distingo entre ajout ou supression

EDIT 2: J'avance petit à petit j'ai trouve un moyen de compare mon tableau reference suivant un autre

    If ActiveSheet.UsedRange.Columns.Count > Sheets(2).UsedRange.Columns.Count Then
    MsgBox "Ajout d'une colonne"
    Else
    MsgBox "Suppression d'une colonne"
    End If

J'arrive a une solution qui focntionne à savoir

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim StatutColonne As Boolean
    If ActiveSheet.UsedRange.Columns.Count > Sheets(2).UsedRange.Columns.Count Then
    For i = 1 To ActiveSheet.UsedRange.Columns.Count
        If ActiveSheet.Cells(1, i).Value <> Sheets(2).Cells(1, i) Then
            Sheets(2).Columns(i).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        End If
    Next
    Else
    For i = 1 To ActiveSheet.UsedRange.Columns.Count
        If ActiveSheet.Cells(1, i).Value <> Sheets(2).Cells(1, i) Then
            Sheets(2).Columns(i).Delete Shift:=xlToLeft
        End If
    Next
    End If
End Sub

Je laisse le post ouvert quelque jour néanmoins si vous avez d'autre piste

Version optimisé si sa interesse du monde

For Colonne = 1 To Sheets(2).UsedRange.Columns.Count '------------------------------------------------'
                 If Sheets(2).Cells(1, Colonne).Value <> .Cells(1, Colonne) Then                                   '
                     If Sheets(2).UsedRange.Columns.Count > .UsedRange.Columns.Count Then .Columns(Colonne).Insert '
                     If Sheets(2).UsedRange.Columns.Count < .UsedRange.Columns.Count Then .Columns(Colonne).Delete '
                 End If                                                                                            '
Next '----------------------------------' Ajoute et supprime des colonnes suivant le tableau maître '-'

Cordialement

Rechercher des sujets similaires à "ajout supression colonne suivant modele"