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 :

click dans une cellule d'une plage valeur du combo


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de pilounet54
    Homme Profil pro
    retraité
    Inscrit en
    Février 2008
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 489
    Par défaut click dans une cellule d'une plage valeur du combo
    bonjour a tous


    je viens vers vous pour me transformer ce bout de code
    pour une plage
    donc a chaque fois que je click dans la cellule de la plage je range la valeur du combobox choisi
    merci pour la ou les reponses
    et meilleur voeux à tous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub ComboBox1_Change()
    Range("A2").Value = ComboBox1.Value
    End Sub
     
    Private Sub Worksheet_Activate()
      ComboBox1.Visible = False
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
     
    If Target.Address(0, 0) = "A2" Then
       ComboBox1.Visible = True
     
       Else
       ComboBox1.Visible = False
     
    End If
     
     
     
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Bonjour et bonne année. Je ne suis pas sûr d'avoir bien compris. J'ai remplacé "A2" par "Range("Plage")" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub ComboBox1_Change()
    If Not Intersect(ActiveCell, Range("Plage")) Is Nothing Then ActiveCell.Value = ComboBox1.Value
    End Sub
     
    Private Sub Worksheet_Activate()
    ComboBox1.Visible = False
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
     
    If Not Intersect(ActiveCell, Range("Plage")) Is Nothing Then
    ComboBox1.Visible = True
     
    Else
    ComboBox1.Visible = False
     
    End If

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir
    Peut être, il serait mieux d'utiliser une Liste de Validation sur ta colonne A.

    Sinon, ci_après ton code modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Option Explicit
     
    Dim LaLig As Long
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    If Target.Column = 1 And Target.Row >= 2 And Target.Count = 1 Then
        With ComboBox1
            .Visible = True
            .ListIndex = -1
            .Top = Target.Top
            .Left = Target.Offset(0, 1).Left
        End With
        LaLig = Target.Row
    Else
        ComboBox1.Visible = False
        LaLig = 0
    End If
    End Sub
     
    Private Sub ComboBox1_Change()
     
    If LaLig > 1 Then Range("A" & LaLig) = ComboBox1.Value
    End Sub
     
    Private Sub Worksheet_Activate()
     
    ComboBox1.Visible = False
    End Sub

Discussions similaires

  1. [XL-2007] Savoir si une cellule est une formule ou une valeur
    Par Syvolc dans le forum Excel
    Réponses: 3
    Dernier message: 23/06/2014, 14h50
  2. Réponses: 5
    Dernier message: 14/06/2013, 11h42
  3. Réponses: 2
    Dernier message: 25/01/2011, 12h04
  4. afficher une msgbox si une cellule est égale à certaines valeurs
    Par titou8333 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2010, 12h56
  5. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59

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