Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/01/2012, 20h28   #1
 
Homme patrick
retraité
Inscription : février 2008
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme patrick
Âge : 59
Localisation : France, Meurthe et Moselle (Lorraine)

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

Informations forums :
Inscription : février 2008
Messages : 179
Points : -6
Points : -6
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 :
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
pilounet54 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 01/01/2012, 21h06   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour et bonne année. Je ne suis pas sûr d'avoir bien compris. J'ai remplacé "A2" par "Range("Plage")" :

Code :
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
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/01/2012, 21h10   #3
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonsoir
Peut être, il serait mieux d'utiliser une Liste de Validation sur ta colonne A.

Sinon, ci_après ton code modifié
Code :
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
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h33.


 
 
 
 
Partenaires

Hébergement Web