NanomaxVBA
-
20 déc. 2012 à 13:35
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
21 déc. 2012 à 18:51
Bonjour a tous
je suis en train de développer un tableau pour évaluer des analyses de risque.. bref... j'ai créer une userform dans laquelle l'utilisateur clic sur des option_button qui sont relier a la cellule active et lui affecte un nombre (10, 7, 5, 3 ou 1 suivant le risque). Tout marche très bien sauf que.. j'active cette macro via un bouton. J'aimerais que la macro se lance via un clic sur la cellule concerner (qui deviendrait la cellule active par la même occasion, ce qui est nickel pour ma macro..)
Je précise que cela ne concerne pas une seule cellule mais une plage de cellule (toute sur la même colonne).
Idéalement, j'aimerai créer un code du type :
If la cellule active est sur la colonne Z et que la ligne est superieur a 18 then
Userform.show
J'ai déja vu des code de ce type, mais chez moi ça ne marche pas.
j'ai tenter
if target.row > 18 and target.column = 26 then
mais aucun resultat.. ou alors je ne l'ai pas rentrer au bon endroit..
Si qqun pouvait m'aider..
Merci d'avance de l'attention que vous porterez a mon problème
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 21 déc. 2012 à 18:51
Bon.
Libère cette discussion (un clic sur tag "réponse acceptée).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 20 déc. 2012 à 13:53
Bonjour,
Oui ?
regarde ce qu'est l'évènement SelectionChange d'une feuille
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 20 déc. 2012 à 14:57
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Désolé de te faire pleurer.. mais cela ne fait pas avancer grand chose.. :/
J'ai tenter Worksheet_selectChange (byval Target as Range)
Dim A as range
if A = "P18 : P500" then ' c'est la ou a mon avis ça coince, comment lui faire comprendre que je ça concerne toute les cellule de la colonne P a partir de la ligne 18
call procedure
end if
je precise que la procedure marche deja très bien..
Si qqun a une astuce ou une vrai aide a me donner car en rentrant les smiley qui pleure dans VBA, ça marche pas non plus.. ^^
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 20 déc. 2012 à 17:59
Ecrire :
Dim A as range
if A = "P18 : P500"
révèle beaucoup ! Tu ne semble même pas savoir ce qu'est un obvjet (ici un Range) !
Il est urgent que tu commence à lire ton aide VBA et que tu y apprennes au moins les choses les plus basiques, sans lesquelles tu ne saurais développer.
Target est un objet Range (lis donc comment il est défini en paramètre de la sub ...)
Fais ce test :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 3 And Target.Column = 2 Then MsgBox "coucou"
If Not Application.Intersect(Target, Range("C18:C" & Rows.Count)) Is Nothing Then MsgBox "vu ?"
End Sub
tu auras le message "coucou" chaque fois que tu cliqueras dans la colonne B, au delà de la ligne 2 et tu auras le message "vu ?" chaque fois que tu cliqueras en colonne C au-delà de la ligne 17)
Te voilà donc avec deux méthodes différentes. Saisis cette occasion (lecture de ton aide VBA) pour apprendre également ce qu'est Application.Intersect et ce qu'est Nothing.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Merci beaucoup pour cette réponse. Je l'avoue, je n'ai pas pris le temps d'aller sur l'aide en ligne et mes cours de VBA ne sont pas allez aussi loin pour pouvoir aborder les codes que vous m'avait présenté. Encore merci pour votre aide.