Supprimer une colonne selon une combobox

  • Initiateur de la discussion Initiateur de la discussion Imer2007
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Imer2007

XLDnaute Occasionnel
Bonjour à tous,

Petit problème qui je suis sur ne vous rebutera pas.

Comment est il possible de supprimer une colonne en fonction d'une combobox.

Je sais le faire pour la suppression de ligne avec cette formule:
Nomdelafeuille.Rows(userform.combobox.ListIndex).Delete

Mais pour une colonne, j'ai essayé
Nomdelafeuille.Columns(userform.combobox.ListIndex).Delete

Et ca ne marche pas, ca me supprime la toute première colonne de ma feuille et non la colonne correspondant à la valeur du combobox.

Quelqu'un aurait-il une idée ?

D'avance merci !
 
Re : Supprimer une colonne selon une combobox

J'ai crié victoire trop tot car... ca m'efface bien les colonnes demandées sauf la dernière colonne !

Voilà le code que j'ai modifié uniquement sur le listindex.

Sheets("BAL").Select
If creabal.list_bal.ListIndex <> -1 Then
Feuil8.Columns(Me.list_bal.ListIndex + 2).Delete
End If

Question bête pourquoi -1 d'ailleurs ?
 
Re : Supprimer une colonne selon une combobox

Re,

Code:
ListIndex <> -1
si aucun élément de la combo n'est sélectionné, la valeur renvoyée par la combo est -1...

il faudrait voir les valeurs présentes dans ta combo, mais il y a sans doute lieu de réactualiser apès chaque suppression, à voir selon ton projet....
 
Re : Supprimer une colonne selon une combobox

Ci dessous mon code que j'explique

Pour info
creabal : nom de mon userform
list_bal : combobox (liste déroulante)
listedyn_bal est une liste déroulante prise sur le modèle de Boisgontier
=DECALER(BDBAL!$A$2;;;NBVAL(BDBAL!$A:$A)-1)

Private Sub suppr_bal_Click()
On Error Resume Next
If list_bal.Value = "***" Then 'si la valeur est *** alors sortir
Exit Sub
End If

'Suppression dans la BD BAL
Feuil10.Rows(creabal.list_bal.ListIndex + 2).Delete
creabal.list_bal.RowSource = "listedyn_bal"

' et on trie dans la BD BAL
Range("a1:A50").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

'Suppression de la colonne dans la récap acces agents/BAL
' La premiere colonne a supprimer commence à C

Sheets("BAL").Select
If creabal.list_bal.ListIndex <> -1 Then
Feuil8.Columns(creabal.list_bal.ListIndex + 2).Delete
End If

MsgBox "La BAL a été supprimée"

'Tri dans la feuille BAL
Range("C1:Z150").Select
Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal

Sheets("Menu").Select

' On ferme le userform et on l'ouvre de nouveau

Unload Me
creabal.Show
End Sub
 
Dernière édition:
Re : Supprimer une colonne selon une combobox

Re,

si la première colonne à supprimer est la colonne C, modifie peut être ainsi :

Code:
Feuil8.Columns(creabal.list_bal.ListIndex + [B]3[/B]).Delete

il faut savoir que le 1er numéro d'index est le 0
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
428
Réponses
40
Affichages
2 K
Retour