Commande macro "va & vient"

Bonjour,

J'aimerai avoir une cellule ... un double-clic droit par exemple qui déclenche la Macro1 puis le second double-clic droit qui déclenche la Macro2, puis le troisième clic droit la Macro1 pour avoir en définitive macro1/2/1/2/1 etc...

J'ai donc commencé mon tableur en ce sens avec 2 cellules avant d'attaquer le souhait ci-dessous

cellule affichage entier (la macro lancée doit permettre de tout afficher)

cellule affichage réduit (la macro masque automatiquement certaines colonnes)

(Vous pouvez modifier la macro, l'important c'est l'idée de masquer les colonnes, lesquelles n'a pas d'importance, je corrigerai)

mais il y a une erreur dans mon code, -j'ai collé le code qui marche pour une cellule et qui lance une macro- mais il y a un conflit

En résumé, avant d'aller au souhait il me faudrait un coup de main pour que le code soit clean.

Accessoirement, j'ai un filtre automatique dans une colonne qui disparait après exécution de la macro.

Vous remerciant d'avance de votre aide

Tonthon

Bonjour

Pour commencer juste traité le double clic en D3

Bonjour Banzai64

Comme d'habitude... proposition de solution rapide ce qui est très agréable.

Ton "double-clic" en D3 semble avoir répondu à l'ensemble des problèmes puisque notamment son exécution n'efface pas le filtre en C8.

J'aime bien comprendre pour apprendre...

Dans un code, on peut avoir autant de "Private Sub.......................End if End sub" que l'on veut ?

Pourquoi "fin si" suivi de "fin sub" ?

Que veut dire le "sub" ?

J'ai vu qu'il n'y a pas de lancement de macro, donc le "va & vient" ici part d'un tableur "affichage réduit" pour lancer "tout afficher" mais comment ? pour ensuite annuler ?

J'aimerai comprendre le mécanisme

Merci d'avance de ton indulgence face à mon ignorance !

Cordialement

Tonthon

Bonjour,

Dans un code, on peut avoir autant de "Private Sub.......................End if End sub" que l'on veut ?

Oui mais pas deux "private sub" de nom identique dans la même feuille. Exemple --> Private Sub Worksheet_BeforeRightClick, 1 seule macro par feuille.

Pourquoi "fin si" suivi de "fin sub" ?

Fin si parce que tu as un "si" plus haut dans le code. Suivi de fin Sub parce qu'après les instructions du "si", la macro est terminée

Que veut dire le "sub" ?

Sub vient de "sub routine"

J'ai vu qu'il n'y a pas de lancement de macro...

Si mais elle se lance d'elle même par le double click. C'est ce que tu peux appeler une macro évenementielle en quelque sorte.

Amicalement

Bonjour Dan,

Content de te retrouver ici.

Je veux être sûr d'avoir bien saisi...

Dans un code, on peut avoir autant de "Private Sub.......................End if End sub" que l'on veut ?

Oui mais pas deux "private sub" de nom identique dans la même feuille. Exemple --> Private Sub Worksheet_BeforeRightClick, 1 seule macro par feuille.

==> donc une seule macro par feuille lancée par un double clic droit

je peux rajouter sur la même feuille une macro lancée par un double clic gauche

je peux rajouter sur la même feuille une macro lancée par une autre façon si cela existe ?

Pourquoi "fin si" suivi de "fin sub" ?

Fin si parce que tu as un "si" plus haut dans le code. Suivi de fin Sub parce qu'après les instructions du "si", la macro est terminée

==> si j'ai bien compris puisque le script commence par un If il faut l'arrêter par un If,

Que veut dire le "sub" ?

Sub vient de "sub routine"

==> cela entraine quoi ?

J'ai vu qu'il n'y a pas de lancement de macro...

Si mais elle se lance d'elle même par le double click. C'est ce que tu peux appeler une macro évenementielle en quelque sorte.

==> ok, je n'avais pas vu la création d'une macro appelée ainsi

C'est un bon début de semaine, j'ai appris quelque chose de plus

Cordialement

Tonthon

Re

J'ai "compris" l'essentiel au niveau du code et cela marche sur mon tableur.

Reste le souci de l'effacement du filtre créé en C 8 qui disparait en fait après un choix de région et non du fait du choix d'affichage.

Solution ?

Cordialement

Tonthon

re

==> donc une seule macro par feuille lancée par un double clic droit

je peux rajouter sur la même feuille une macro lancée par un double clic gauche

je peux rajouter sur la même feuille une macro lancée par une autre façon si cela existe ?

Oui.Tu as la liste des possibilit"s dans la liste déroulante en haut à gauche dans VBE.

Fin si parce que tu as un "si" plus haut dans le code. Suivi de fin Sub parce qu'après les instructions du "si", la macro est terminée

==> si j'ai bien compris puisque le script commence par un If il faut l'arrêter par un If,

Pas par un IF mais un END IF

Sub vient de "sub routine"

==> cela entraine quoi ?

Pas compris ta question.

Reste le souci de l'effacement du filtre créé en C 8 qui disparait

C'est cette instruction "ActiveSheet.ShowAllData" dans le code qui te supprime le filtre. Cela ne sert plus par le code réalisé par Banzai

Si ok, n'oublie pas de cloturer le fil en cliquant sur le V vert à coté du bouton Editer

Amicalement

Bonjour

Mon avis (je ne suis pas spécialiste des filtres)

ActiveSheet.ShowAllData

ne supprime pas le filtre, mais supprime l'action du filtre, c'est à dire montre les lignes qui ont été masquées par le filtre

Si le filtre disparait c'est que c'est un filtre automatique que l'on remplace par un filtre élaboré

Re

Merci pour vos interventions.

Au niveau de l'élaboration du code, je pense avoir compris.

Reste l'aspect du filtre qui au départ est "automatique" qui disparait après le filtre élaboré ? du moins après affichage d'une région déterminée.

J'aimerais le trouver en permanence, à défaut au moins à l'ouverture de "tous".

Si quelqu'un pouvait modifier le code en ce sens...et m'indiquer l'ajout pour que je l'intègre dans le code de mon tableur ?

Le VBA est vraiment passionnant mais aucun écart n'est admis !

Cordialement

Tonthon

Re,

Je me lance.... il me semble pouvoir contourner le souci à défaut de le solutionner par l'introduction d'une macro RECHERCHE qui recrééerait le filtre effacé lorsqu'on ferait "tous".

La macro existe et fonctionne.

Mais comment l'intégrer ? Je crois savoir où mais pas le comment !

Cordialement

Tonthon

Bonjour

A tester

Bonjour,

Test...réussi

J'ai vu que tu intégrais directement ce que je faisais en macro dans le code....bravo !

Cela rend modeste, décidément j'ai beaucoup à apprendre.

Merci à tous les intervenants

Cordialement

Tonthon

Rechercher des sujets similaires à "commande macro vient"