|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Bonjour à tous,
Je voudrais lorsqu'un utilisateur clique sur une cellule, qu'un msgbox apparaisse selon deux conditions: -S'il clique sur une cellule ou la ligne comprise sur une plage bien définie (exemple dans mon Excel je veux qu'il s'occupe uniquement des lignes E16:O23) ne contient aucun caractère, alors un msgbox apparaît demandant "voulez-vous modifier?" S'il clique sur Oui, ça ouvre un userform avec une liste. En cliquant sur une des valeurs de la liste, je voudrais que ça remplisse le tableau selon la même ligne (que la active.cell) et la bonne colonne. Par exemple, si l'utilisateur choisit dans la liste "RTT" alors ça doit figurer dans la colonne F et sur la même ligne que la Active.cell -S'il clique sur une cellule ou la ligne comprise sur une plage bien définie (exemple dans mon Excel je veux qu'il s'occupe uniquement des lignes E16:O23) contient un caractère, alors un msgbox apparaît et annonce: (Contenu de la colonne 1 et de la même ligne que la Active.cell) & "est en" &(contenu de la cellule ou apparaît un caractère). Une fois fois qu'on clique sur Ok, ça ouvre un msgbox: "voulez vous modifier" Si on répond oui, ça ouvre le même UserForm et on rempli le tableau de la même manière que le cas précédent. i.e: Par exemple, si l'utilisateur choisit dans la liste "RTT" alors RTT doit figurer dans la colonne F et sur la même ligne que la Active.cell J'espere avoir été le plus clair possible. Merci pour voter aide Will edit: petite erreur dans le vba, c'est bien et non pas |
|
|
00
|
|
|
#2 | |||||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 894 ![]() |
Bonjour,
Une solution Dans l'évenement SelectionChange on test si l'adresse de la cellule sélectionné fait partie de la plage E16 à O23 on affiche les messages Code :
Cela permettra de donner à cette cellule la valeur de la textbox lors de la validation par le Commandbutton Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Merci pour ta réponse,
Je suis plutôt débutant en vba, comment est ce que j'incorpore ton code ds ma macro existante ? Merci Will |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 894 ![]() |
L'évenement Worksheet_SelectionChange se met au niveau de la feuille.
Ou est ton code ? (module, Thisworkbook, Worksheet) http://silkyroad.developpez.com/VBA/DebuterMacros/
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Bonjour jfontaine,
Effectivement ça marche. Par contre, j'aimerai que lorsqu'on clique sur une case du tableau qui est vide mais que si une case de la même ligne du tableau ne l'est pas, alors un MsgBox annonce: (contenu de la colonne 1 et de la même ligne que Active.Cell) & "est en" & (contenu de la même ligne et de la case non vide du tableau) En cliquant sur Ok, il faut ensuite reprendre la situation ou l'on demande par MsgBox: "Voulez-vous modfiez", si oui afficher le userform puis remplacer la valeur du tableau par la valeur choisi dans liste du combobox. Il y a une petite subtilité tout de même car lorsqu'on veut modifier le (contenu de la même ligne et de la case non vide du tableau), la valeur choisi dans le Combobox ne doit pas forcement aller dans la même case que celle qu'on veut remplacer. Par exemple, si à la base la case non vide est "RTT" et qu'on choisi de remplacer "RTT" par "Maladie" alors ça affichera "Mal" dans la même ligne mais dans une colonne du tableau dédié à "Maladie" J'espère avoir été le plus clair possible. J'essaie de mon coté mais pour le moment je n'y suis pas arrivé. Je sèche un peu (beaucoup même) En tout cas, merci pour ton aide Will, |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com