![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonjour, j'ai une macro qui me permet de mettre des "1" dans des cellules juste en cliquant dessus et de les effacer en recliquant. Elle marchait jusqu'à présent mais j'ai modifié les cellules où je dois et cliquer, et là ça ne marche plus. Au secours.
Voilà ma macro qui se trouve dans "Worksheet" "SelectionChange": Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("M11:O295,Q11:S295,U11:W295,Y11:AA295,AD11:A F295,AH11:AJ295,AL11:AN295,AP11:AR295,AU11:AW295,A Y11:BA295,BC11:BE295,BG11:BI295,BL11:BN295,BP11:BR 295,BT11:BV295,BX11:BZ295,CC11:CE295,CG11:CI295,CK 11:CM295,CO11:CQ295,CU11:CW295,CY11 A295,DC11 E2 95,DG11 I295,DL11 N295,DP11 R295,DT11 V295,DX1 1 Z295,EC11:EE295,EG11:EI295,EK11:EM295,EO11:EQ29 5,ET11:EV295,EX11:EZ295,FB11:FD295,FF11:FH295,FK11 :FM295,FO11:FQ295,FS11:FU295,FW11:FY295")) Is Nothing ThenIf Target = 1 Then Target = "" Else Target = 1 End If End If End Sub Quand j'effectue un débogage, il me souligne en jaune toute la ligne "If Not Application ... Is Nothing Then". Vue que je suis novice dans les macros je ne sait quoi faire. En espérant que vous pourrez m'aider. Merci par avance... Cédric |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
Salut,
C'est à confirmer mais je pense que tu ne pas pas mettre une chaine de plus de 256 caracteres dans ton argument Range et la à vu de nez tu as au moins 300 voir 400 caracteres. Je te suggere de faire des tests successifs. En esperant t'aider et ne pas dire trop de bétises @+ Minick |
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
Salut,
Minick à ma connaissance il n'y a pas ce problème là avec les range, Range n'accpete que 2 arguments et avec des guillemets, ici il y en a plus d'une quarantaine. On peut passer par un tableau il faut mettre des guillemets)dim T T=array(("M11:O295","Q11:S295","U11:W295"......) for i=0 to ubound(t) If Not Application.Intersect(Target, Range(t(i))) is nothing then target=iif(target=1,"",1) 'une autre façon d'écrire ton test end if next i end sub A+++ |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
Bien vu Minick, j'ai enlevé plusieurs cellules et ça marche, mais il me manque une grosse partie.
Il n'y a pas moyen de mettre toutes mes cellules, ou de faire une autre macro? Car il me faut vraiment ces clics sur toutes ces cellules. En attendant de vos nouvelles... Merci d'avance Cédric |
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
Salut Zon,
je viens d'essayer ta macro "dim T .... end sub" mais cela ne marche pas, il n'y a pas de "1" qui apparait en cliquant. Je suis novice, pouvez vous détailler "pas par pas" ce que je dois faire. Encore merci Cédric |
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
Re,
Il faut mettre cette procédure dans selection_change Private Sub Worksheet_SelectionChange(ByVal Target As Range) dim T,I& T=array(("M11:O295","Q11:S295","U11:W295") 'ici continuer à remplir en mettant des virgules et des guillemets for i=0 to ubound(t) If Not Application.Intersect(Target, Range(t(i))) is nothing then target=iif(target=1,"",1) 'une autre façon d'écrire ton test end if next i end sub A+++ |
| Liens sociaux |
| Outils de la discussion | |
|
|