Effacer contenu d'une colonne avec l'aide d'une combobox

Linebaker Messages postés 53 Statut Membre -  
Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,

En sélectionnant l'entête d'une colonne avec une combobox (c2:p2), je veux que le contenu de cette colonne soit effacé (genre Selection.Delete xlShiftToRight). Ex. : Je sélectionne D2, D1:D300 est effacé en déplaçant les autres colonnes vers la gauche.

Merci

7 réponses

  1. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Pouvez-vous préciser où se trouve la [Combobox] ...... ?

    0
  2. Linebaker Messages postés 53 Statut Membre 1
     
    Bonjour,

    Il se trouve dans un userform :

    Private Sub UserForm_Initialize()
    With Sheets("Commandes Stinson")
    ComboBox1.Column = .Range("c2", .Range("p2").End(xlToLeft)).Value
    End With
    End Sub

    Et activer la cellule correspondante au choix dans le combobox :

    Range(ActiveCell.Offset(-1, 0), ActiveCell.Offset(300)).Select
    With Selection
    Selection.Delete Shift:=xlToLeft
    End With

    Merci de m'aider
    0
  3. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Merci pour l'information.
    Ajuter ce code qui se déclenche lors d'un changement de valeur dans votre liste déroulante et supprime la colonne.
    Private Sub ComboBox1_Change() 
    Dim nom As String 
    nom = Me.ComboBox1 
    Range(nom).Offset(300).Select 
    With Selection 
            Selection.Delete Shift:=xlToLeft 
    End With 
    End Sub


    Salutations.
    Le Pingou
    0
  4. Linebaker Messages postés 53 Statut Membre 1
     
    Bonjour,

    J'ai un qualificateur incorrect : Range((nom.Offset - 2), (300)).Select,

    et si j'enlève mon offset, j'ai une erreur 1004 (méthode range a échouée)

    Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Vous avez modifier :
    Range((nom.Offset - 2), (300)).Select

    Pourquoi ?

    Qu'elles sont exactement les valeurs qui se trouvent dans votre liste déroulant?
    0
  7. Linebaker Messages postés 53 Statut Membre 1
     
    Bonjour,

    J'ai changer à -2 car mon combobox fait référence à la rangé 3 et je dois aussi effacer 1 à 300.

    La cellule fait référence le combobox est en format date.

    Merci
    0
  8. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Merci pour l'information.
    Vous dites : J'ai changer à -2 car mon combobox fait référence à la rangé 3
    En principe c'est la valeur de la liste déroulante qui sert de référence et non pas la liste déroulante. De plus dans votre code d'initialisation vous avez la plage (C2 ....P2) donc il s'agit de la ligne 2 et non rangé 3 (note : une feuille à des lignes et des colonnes).
    Si les valeurs de la liste déroulante sont des dates, comment vous avez déterminé la colonne dont vous voulez supprimer la plage (ligne : 1 à 300) ?

    Salutations.
    Le Pingou
    0