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 207
    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 207
    Points : 14 362
    Points
    14 362
    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.

  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 207
    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 207
    Points : 14 362
    Points
    14 362
    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.

  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