Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1644 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  colonne de combobox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

colonne de combobox

n°2099375
Dukey66
Posté le 03-09-2011 à 17:21:43  profilanswer
 

Bonjour à toutes et tous,
 
Je sais que c'est une formation complète qu'il me faudrait mais ...
 
Je vais de forums en forums et ...  :cry:  
 
Voilà ce que je voudrais faire et je pense que ça doit déjà exister :
 
Je suis sous Excel 2010 et je voudrais que dans une colonne apparaisse systématiquement une combobox lorsque je commence par exemple à renseigner la première cellule de la ligne. Autrement dit, quand l'utilisateur crée une nouvelle ligne, à la colonne X il n'a que le choix d'un certains nombre d'items.
 
Quelqu'un peut-il m'aider SVP ? (suis néophyte)
 
Merci

mood
Publicité
Posté le 03-09-2011 à 17:21:43  profilanswer
 

n°2099381
neozenfrag​ance
Posté le 03-09-2011 à 19:36:04  profilanswer
 

Hello,
 
Si je comprends bien, tu voudrais par exemple que si la colonne A contient des continents et la colonne B des pays, en saisisant Europe dans la celulle A1, on puisse choisir entre les différents pays européens dans la cellule B1 ?


---------------
Si seulement tu connaissais le pouvoir du côté obscur. Obi-Wan ne t’a jamais dit ce qui est arrivé à ton père.
n°2099384
Dukey66
Posté le 03-09-2011 à 20:08:10  profilanswer
 

neozenfragance a écrit :

Hello,
 
Si je comprends bien, tu voudrais par exemple que si la colonne A contient des continents et la colonne B des pays, en saisisant Europe dans la celulle A1, on puisse choisir entre les différents pays européens dans la cellule B1 ?


 
C'est à peu près ça. Je suis même un tout petit peu moins gourmand. Quel que soit ce que je mets en A1, je veux avoir le choix des pays en B1. Et si je décide de mettre autre chose en A2, je veux avoir le choix des pays en B2 et ainsi de suite, sans limitation (sinon, je mettrais N combobox et ce serait réglé)
 
Ceci dit, si en prime, tu peux répondre à ce que tu me dis alors c'est vraiment top !
 
Merci d'avance

n°2099391
neozenfrag​ance
Posté le 03-09-2011 à 22:26:26  profilanswer
 

Voilà le code pour le cas que je t'ai décrit :
 

Code :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim Cellule As Range, ListeValidation As String
  3.     Set Cellule = Target.Cells(1, 1)
  4.    
  5.     If Cellule.Column = 1 Then ' On vérifie que la cellule appartient à la colonne A
  6.        
  7.         Cellule.Offset(0, 1).Validation.Delete ' On supprime l'ancienne validation de la cellule de la colonne B correspondant au Target
  8.        
  9.         If Cellule <> "" Then
  10.                    
  11.                     Select Case Cellule ' On définit la nouvelle liste de validation
  12.                     Case "Amérique":    Cellule.Offset(0, 1).Validation.Add Type:=xlValidateList, Operator:=xlBetween, Formula1:="Argentine,Brésil,Etats-Unis"
  13.                     Case "Asie":        Cellule.Offset(0, 1).Validation.Add Type:=xlValidateList, Operator:=xlBetween, Formula1:="Chine,Inde"
  14.                     Case "Europe":      Cellule.Offset(0, 1).Validation.Add Type:=xlValidateList, Operator:=xlBetween, Formula1:="Angleterre,Belgique,France"
  15.                     End Select
  16.                    
  17.         End If
  18.        
  19.     End If
  20.    
  21.    
  22. End Sub

 
 
J'ai utilisé une liste de validation qui est beaucoup plus simple à gérer qu'un ComboBox. A chaque fois qu'une cellule de la colonne A est modifiée (on utilise l'évènement worksheet_change de la feuille de saisie), si la valeur entrée est un continent, ici Amérique, Asie ou Europe, la liste des pays correspondant est affichée dans la cellule correspondante de la colonne B. Les listes de validation peuvent ensuite être paramétrées.
 
Le code est à placer dans le module de code de la feuille de saisie.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  colonne de combobox

 

Sujets relatifs
[VB .NET] Comment avoir une colonne d'un tableau deux dimensionssupprimer une colonne si une cellule = 0
Remplir combobox avec un Dataset (valueMember + displayMember inclus)combobox et basse de donnée
[Résolu : rien à voir] Mettre à jour une colonne à partir d'une autreComment copier une partie d'une colonne avec condition?
fonction d'interpolation pour plus d'une colonneAide : VBA SELECTION une colonne entière sous condition bug
remplir une colonne excel à partir d'une ligne donnée[vba] combobox multi colonne
Plus de sujets relatifs à : colonne de combobox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR