IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Listes déroulantes et effacer les autres champs


Sujet :

Excel

  1. #1
    Invité
    Invité(e)
    Par défaut Listes déroulantes et effacer les autres champs
    Bonjour,

    J'ai 3 listes déroulantes mais à des colonnes différentes, j'ai modifié le code de cette façon mais ça ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("C20:C122")) Is Nothing Then Range(Cells(Target.Row, "D"), Cells(Target.Row + 1, "J")).ClearContents
        If Not Intersect(Target, Range("E20:E122")) Is Nothing Then Range(Cells(Target.Row, "F"), Cells(Target.Row + 1, "F")).ClearContents
        If Not Intersect(Target, Range("G20:G122")) Is Nothing Then Range(Cells(Target.Row, "G"), Cells(Target.Row + 1, "G")).ClearContents
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Etes-vous sûre de vos zones à effacer?
    premier cas: on efface le contenu des cellules de la ligne sélectionnée à la ligne + 1 des colonnes D à J
    deuxième cas: on efface le contenu des cellules de la ligne sélectionnée à la ligne + 1 de la colonne F
    troisième cas: on efface le contenu des cellules de la ligne sélectionnée à la ligne + 1 de la colonne G, donc on efface aussi le contenu de la cellule sélectionnée.

    Si vous confirmez alors essayez ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        If Not Intersect(Target, Range("C20:C122")) Is Nothing Then Range(Cells(Target.Row, "D"), Cells(Target.Row + 1, "J")).ClearContents
        If Not Intersect(Target, Range("E20:E122")) Is Nothing Then Range(Cells(Target.Row, "F"), Cells(Target.Row + 1, "F")).ClearContents
        If Not Intersect(Target, Range("G20:G122")) Is Nothing Then Range(Cells(Target.Row, "G"), Cells(Target.Row + 1, "G")).ClearContents
        Application.EnableEvents = True
    End Sub
    Cdlt

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par CaT41 Voir le message
    J'ai 3 listes déroulantes mais à des colonnes différentes
    Dans quelles colonnes ?

    j'ai modifié le code de cette façon mais ça ne fonctionne pas...
    "ne fonctionne pas", ça ne veut rien dire.
    Qu'est-ce que tu obtiens ? Qu'est-ce que tu souhaitais avoir ?

    Pour info, ton code un peu simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("C20:C122")) Is Nothing Then Cells(Target.Row, "D").Resize(2, 9).ClearContents
        If Not Intersect(Target, Range("E20:E122")) Is Nothing Then Cells(Target.Row, "F").Resize(2, 1).ClearContents
        If Not Intersect(Target, Range("G20:G122")) Is Nothing Then Cells(Target.Row, "G").Resize(2, 1).ClearContents
    End Sub
    Mais j'ai un gros doute concernant la dernière ligne : effacer la cellule qu'on vient de saisir ????
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/07/2012, 00h01
  2. [AC-2002] liste déroulante qui alimente un autre champ
    Par laurent00 dans le forum IHM
    Réponses: 2
    Dernier message: 27/04/2009, 15h47
  3. Réponses: 5
    Dernier message: 04/10/2008, 17h15
  4. Réponses: 5
    Dernier message: 23/09/2007, 18h47
  5. Réponses: 2
    Dernier message: 11/08/2006, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo