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

Macros et VBA Excel Discussion :

Macro Excel pour se positionner sur une valeur d'une liste déroulante [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 114
    Points : 48
    Points
    48
    Par défaut Macro Excel pour se positionner sur une valeur d'une liste déroulante
    Bonjour,

    Je crois que tout est dit dans le titre : je cherche une macro Excel qui positionnerait automatiquement une liste déroulante sur telle valeur, si une condition est remplie, tout en laissant le choix à l'utilisateur de mettre une autre valeur.

    Dans le fichier test ci-joint, il faudrait que si la valeur en B4 est "OPERATEUR", la liste déroulante en B30 soit positionnée par défaut sur "I". Comme derrière, il y a des formules de calcul complexes, cela génèrerait un calcul automatique. Libre à l'utilisateur de dérouler la liste jusqu'à une autre valeur.

    J'ai essayé en adaptant une macro trouvée sur : http://boisgontierjacques.free.fr/index2.htm

    Ca donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address = "$B$4" And Target.Count = "OPERATEUR" And Target <> "" Then
        ' [...]
    End If
    End Sub
    Ca s'arrête là. Le code d'origine est celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Target.Offset(0, 1) = Sheets("listes").Range("choix2")(1).Offset(1, Application.Match(Target, [choix1], 0) - 1)
    Je comprends à peu près comment il fonctionne, mais je n'arrive pas à l'adapter.

    Si quelqu'un a une idée ...

    Merci d'avance.

    Bien cordialement.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Rien compris; il n'y a rien en B4 et pas de liste déroulante en B30. Explique. En plus, "Target.Count = "OPERATEUR"" n'a aucun sens.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 114
    Points : 48
    Points
    48
    Par défaut
    Désolé pour l'erreur de frappe.

    Ce n'est pas B4, mais B14.

    En plus, le fichier n'est pas au bon format. En xlsx, il y a bien les listes déroulantes, mais pas en xls.

    Je joins donc un nouveau fichier test au bon format.

    Merci d'avance pour ton aide.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Address = "$B$5" And Target.Count = 1 And [B14] = "OPERATEUR" Then
            [B30] = "I"
        End If
    End Sub
    PS. Je teste le changement de la cellule B5.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 114
    Points : 48
    Points
    48
    Par défaut
    Daniel,

    Je viens de tester et ça fonctionne très bien.

    Merci pour ton aide.


    Cordialement.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 3
    Dernier message: 28/02/2015, 15h44
  3. Macro Excel pour les doublons sur 3 mois glissants
    Par greenlightII dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 21/05/2013, 14h49
  4. Réponses: 2
    Dernier message: 24/02/2009, 17h40
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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