Bonjour, je suis à la recherche d'une macro permettant de revenir à l'état initial d'un tableau après avoir utiliser une macro qui va modifier sa forme, je mets ci dessous le code de la première macro qui sert donc à ajouter de nouvelles colonnes dans mon tableau en copiant et supprimant les anciennes en très large il y a aussi une notion de quantités :
Sub AjouterQuantitesEtColonnes()
Dim quantite As Integer
Dim i As Integer
Dim hasPreviousData As Boolean
hasPreviousData = Not IsEmpty(Sheets("Chiffrage COLONNE").Range("A1").Value)
If hasPreviousData Then
ResetDonneesPrecedentes
End If
quantite = InputBox("Entrez le nombre de quantités :", "Ajouter des quantités")
If IsNumeric(quantite) And quantite > 0 Then
On Error Resume Next
For i = 1 To quantite
Sheets("Chiffrage COLONNE").Cells(1, i).EntireColumn.Hidden = False
Sheets("Chiffrage COLONNE").Cells(1, i).Value = InputBox("Entrez la quantité " & i & " :", "Quantité")
Next i
Sheets("Colonne").UsedRange.EntireColumn.Hidden = False
Else
MsgBox "Veuillez entrer un nombre de quantités valide.", vbExclamation
Exit Sub
End If
Dim nbColonnes As Integer
Dim j As Integer
Dim lettreColonne As String
nbColonnes = quantite
If nbColonnes > 0 Then
For j = 73 To 61 Step -1
If j <> 68 And j <> 69 And j <> 70 And j <> 71 Then
For i = 1 To nbColonnes
Columns(j + i).Insert Shift:=xlToLeft
Columns(j).Copy Destination:=Columns(j + i)
Cells(8, j + i).Value = Sheets("Chiffrage COLONNE").Cells(1, i).Value
Next i
Columns(j).Delete
End If
Next
MsgBox nbColonnes & " colonnes ont été ajoutées avec succès.", vbInformation, "Ajout de colonnes"
isInitialized = True
End If
End Sub
Sub ResetDonneesPrecedentes()
Dim i As Integer
Dim lastColumn As Integer
lastColumn = Sheets("Chiffrage COLONNE").Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To lastColumn
Sheets("Chiffrage COLONNE").Cells(1, i).ClearContents
Next i
End Sub
Edit modo : code à mettre entre balises avec le bouton </> merci d'y faire attention la prochaine fois
Si quelqu'un a une petit idée de la macro nécessaire pour réussir a faire revenir le tableau à l'état initial, j'ai essayé en faisant le chemin inverse mais vu qu'il y a une suppression de colonnes puis un ajout cela se complique.
Merci d'avance à celui qui prendra le temps, Bonne soirée !