1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Dim d As Object
Private Sub CommandButton1_Click()
'On désactive les alertes (sinon tu en auras une au moment de supprimer l'onglet)
Application.DisplayAlerts = False
'On enregistre la valeur de la combobox
v = Me.ComboBox1.Value
'd(Val(v)), recherche l'item selon la clé Val(v), transforme un texte en numérique
Sheets("résumé").Columns(d(Val(v))).Delete
'On supprime l'onglet reprenant la valeur
Sheets(v).Delete
Application.DisplayAlerts = True
'On décharge l'UF
Unload Me
'On réaffiche l'UF
UserForm1.Show
End Sub
Private Sub UserForm_Activate()
Dim i As Integer
'On crée un dictionnaire pour enregistrer en clef la valeur et en item le numéro de colonne
Set d = CreateObject("Scripting.Dictionary")
With Sheets("résumé")
'On boucle de la 1ère colonne à la dernière remplie
For i = 1 To .Cells.Find("*", , , , xlByColumns, xlPrevious).Column
'S'il existe une valeur en ligne 1 et colonne i, on ajoute l'entrée dans le dictionnaire
If .Cells(1, i).Value <> "" Then d(.Cells(1, i).Value) = i
Next i
End With
'La combobox reprend toutes les clefs du dictionnaire
Me.ComboBox1.List = d.Keys
End Sub |
Partager