Deux soucis dans une macros

Bonsoir à tous,

J'ai adapté une macro pour désigner d'un clic droit de souris les gagnants et les perdants d'un concours de pétanque...

J'ai deux soucis, si je clique dans les cellules D2 et D3, j'ai une erreur d'exécution 1004.

j'aimerais qu'il ne se passe rien du tout, mais je ne sais pas comment faire, avez vous une idée...?

De plus, lorsque je clique dans la cellule D de la dernière ligne pleine, cela devrais inscrire "G" et "P" dans la cellule du dessus, comme pour ,le reste des équipes, je ne comprends pas pourquoi cela ne se fait pas... ?

Quelqu'un peut il m'expliquer ce que j'ai manqué ?

Merci à tous pour votre aide.

Mon fichier joint:

17tiragepoule-1.xlsm (65.51 Ko)

Bonsoir,

si je clique dans les cellules D2 et D3, j'ai une erreur d'exécution 1004.

A toi de cibler la zone d'application du clic autorisant l'exécution de façon plus précise que la colonne D...

De plus, lorsque je clique dans la cellule D de la dernière ligne pleine, cela devrais inscrire "G" et "P" dans la cellule du dessus, comme pour ,le reste des équipes, je ne comprends pas pourquoi cela ne se fait pas... ?

Parce que l'ordre dans lequel tu examines les conditions le permet ! Tes conditions sont conçues de façon indépendante, c'est à dire que lors de l'exécution elles sont toutes testées même si le cas voulu a déjà été trouvé (fait qui empêche les suivantes d'être satisfaites). Il y aurait été mieux conçu que chaque test élimine si positif la possibilité des tests suivants (une seul If et des ElseIf...), mais dans tous les cas l'ordre n'est pas indifférent dans certains cas. Si un test est positif, le suivant qui aurait pu l'être ne le sera plus.

Il te suffit de faire une exécution "manuelle" de ton cas litigieux, tu le soumets aux tests successifs et tu verras vite là où le test est positif alors que tu t'attends à ce que ce soit le suivant qui le soit ! tu n'auras plus qu'à en changer l'ordre (et vérifier que cela ne perturbe pas les autres situations... mais les cas sensible à l'ordre des tests étant particuliers, cela ne devrait pas...)

Cordialement.

Bonsoir MFerrand,

Merci pour tes précieuses explications, J'ai donc modifier l'ordre des conditions, ça fonctionne parfaitement.

J'ai également dans le VBA de la "Feuil5" remplacé les "IF" par des "ElseIf", ça fonctionne aussi.

Peux tu STP vérifier si les modifs sont correctes ou si on peut encore améliorer le code...?

Par contre, je n'ai pas su comment délimiter la zone d'application du clic comme tu le préconise...

Peux tu m'expliquer un peu plus sur comment faire ça...?

Mon fichier joint:

9tiragepoule-1.xlsm (66.09 Ko)

Tu remplaces Range("D:D") par Range("D3:D?") !

(en remplaçant le point d'interrogation par la ligne maximale dont tu as besoin).

Cordialement.

Bonjour MFerrand,

Merci beaucoup, ça fonctionne à merveille maintenant...

Bonne continuation, A+

Rechercher des sujets similaires à "deux soucis macros"