Deux macros qui se genent l'une et l'autre
Fermé
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
-
28 févr. 2013 à 11:20
carotte78 Messages postés 46 Date d'inscription mardi 12 février 2013 Statut Membre Dernière intervention 3 juin 2013 - 4 mars 2013 à 08:21
carotte78 Messages postés 46 Date d'inscription mardi 12 février 2013 Statut Membre Dernière intervention 3 juin 2013 - 4 mars 2013 à 08:21
A voir également:
- Deux macros qui se genent l'une et l'autre
- Deux ecran pc - Guide
- Deux comptes whatsapp - Guide
- Itinéraire google map entre deux adresses - Guide
- Faire deux colonnes sur word - Guide
- Concatener deux cellules excel - Guide
8 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
28 févr. 2013 à 12:17
28 févr. 2013 à 12:17
Bonjour
Tu parles de 2 macros mais je n'en vois qu'une....
le "cas 3" concerne les lignes 12:27 et non 12:18.... ???
Pas clair ton explication
Tu parles de 2 macros mais je n'en vois qu'une....
le "cas 3" concerne les lignes 12:27 et non 12:18.... ???
Pas clair ton explication
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
28 févr. 2013 à 13:08
28 févr. 2013 à 13:08
Private Sub Worksheet_Change(ByVal Target As Range)
Rows("12:27").Select
If Range("B10").Value = "Cas 3: 1 seule mesure > VLEP ou sur 3 campagnes (9 mesures), la probabilité de dépassement >5% " Then
Selection.EntireRow.Hidden = True
Else
Selection.EntireRow.Hidden = False
End If
Rows("16:18").Select
If Range("B10").Value = "Cas 1 bis : 3 CEP < 10% de la VLEP ou 3 campagnes (soit 9 mesures) avec une probabilité de dépassement < ou égale à 0,1% sans EPI respiratoires requis " Then
Selection.EntireRow.Hidden = True
Else
Selection.EntireRow.Hidden = "Cas 3:1 seule mesure > VLEP ou sur 3 campagnes (9 mesures), la probabilité de dépassement >5% "
End If
End Sub
Il me met cette phrase en jaune...
Rows("12:27").Select
If Range("B10").Value = "Cas 3: 1 seule mesure > VLEP ou sur 3 campagnes (9 mesures), la probabilité de dépassement >5% " Then
Selection.EntireRow.Hidden = True
Else
Selection.EntireRow.Hidden = False
End If
Rows("16:18").Select
If Range("B10").Value = "Cas 1 bis : 3 CEP < 10% de la VLEP ou 3 campagnes (soit 9 mesures) avec une probabilité de dépassement < ou égale à 0,1% sans EPI respiratoires requis " Then
Selection.EntireRow.Hidden = True
Else
Selection.EntireRow.Hidden = "Cas 3:1 seule mesure > VLEP ou sur 3 campagnes (9 mesures), la probabilité de dépassement >5% "
End If
End Sub
Il me met cette phrase en jaune...
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié par ccm81 le 28/02/2013 à 14:40
Modifié par ccm81 le 28/02/2013 à 14:40
Bonjour
Cette ligne là est incorrecte
Selection.EntireRow.Hidden = "Cas 3:1 seule mesure > VLEP ou sur 3 campagnes (9 mesures), la probabilité de dépassement >5% "
Après Selection.EntireRow.Hidden =
il te faut un booleen true ou false
Avant il faudrait définir une selection
Peux tu envoyer ton fichier sur cjoint.com si possible au format excel 2003) et joindre le lien obtenu à ton prochain message, avec quelques explications
RQ. il n'y a pas 2 macros, mais une seule
bonne suite
Cette ligne là est incorrecte
Selection.EntireRow.Hidden = "Cas 3:1 seule mesure > VLEP ou sur 3 campagnes (9 mesures), la probabilité de dépassement >5% "
Après Selection.EntireRow.Hidden =
il te faut un booleen true ou false
Avant il faudrait définir une selection
Peux tu envoyer ton fichier sur cjoint.com si possible au format excel 2003) et joindre le lien obtenu à ton prochain message, avec quelques explications
RQ. il n'y a pas 2 macros, mais une seule
bonne suite
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
28 févr. 2013 à 15:34
28 févr. 2013 à 15:34
https://www.cjoint.com/?CBCpGKhB4k5 Alors j'aimeraiq ue lorsqu'on choisi cas 1ou cas 2 rien ne change , casx 1 bis les lignes 16 à 18 se masquent et quand on choisit cas 3 les lignes 12 a 27 se masquent.
Merci beaucoup
Merci beaucoup
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
28 févr. 2013 à 15:36
28 févr. 2013 à 15:36
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
28 févr. 2013 à 15:38
28 févr. 2013 à 15:38
je t'ai demandé au format excel 2003
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
28 févr. 2013 à 15:53
28 févr. 2013 à 15:53
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
28 févr. 2013 à 16:31
28 févr. 2013 à 16:31
C'est le bon format ? merci beaucôup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
28 févr. 2013 à 19:17
28 févr. 2013 à 19:17
Ce que j'ai compris
Cas 1 et 2 on montre toutes les lignes
Cas 3 on cache les lignes 12:27
Cas 1 bis on cache (uniquement) les lignes 16:18
Le code est (actif) dans la feuille 1
https://www.cjoint.com/?3BCtn7zM5Tu
RQ. J'ai du nettoyer tous tes codes qui interféraient (du moins avec excel 2003)
bonne suite
Cas 1 et 2 on montre toutes les lignes
Cas 3 on cache les lignes 12:27
Cas 1 bis on cache (uniquement) les lignes 16:18
Le code est (actif) dans la feuille 1
https://www.cjoint.com/?3BCtn7zM5Tu
RQ. J'ai du nettoyer tous tes codes qui interféraient (du moins avec excel 2003)
bonne suite
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
28 févr. 2013 à 20:11
28 févr. 2013 à 20:11
et pour généraliser à toutes les feuilles
https://www.cjoint.com/?3BCuj74H8Nt
https://www.cjoint.com/?3BCuj74H8Nt
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
28 févr. 2013 à 20:17
28 févr. 2013 à 20:17
Merci beaucoup jz regarde sa demain et je vous dis si ca marche.
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
1 mars 2013 à 13:46
1 mars 2013 à 13:46
Bonjour, votre macro ne marche pas...:( je ne comprend pourtant pas pourquoi ...j'ai copié coller
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié par ccm81 le 1/03/2013 à 16:46
Modifié par ccm81 le 1/03/2013 à 16:46
1. Est ce que ça fonctionne dans mon fichier?
2. Un code un peu plus simple
https://www.cjoint.com/?3CbqTJQXjZE
Le mode d'emploi est dans la feuille 1
2. Un code un peu plus simple
https://www.cjoint.com/?3CbqTJQXjZE
Le mode d'emploi est dans la feuille 1
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
1 mars 2013 à 17:11
1 mars 2013 à 17:11
Oui dans votre feuille sa marche
j'essaye votre nouveau code
j'essaye votre nouveau code
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
1 mars 2013 à 17:19
1 mars 2013 à 17:19
Oui votre code fonctionne dans votre fichier;
Pour votre nouveau fichier je ne comprend pas la différence entre ce qu'est un module et une feuille. J'ai copier votre macro dans mon document mais cela ne marche pas non plus. Je vous donne le Vrai fichier sur lequel j'aimerai faire fonctionner cette macro:https://www.cjoint.com/?3Cboq79G6Kf
Merci beaucoup
Pour votre nouveau fichier je ne comprend pas la différence entre ce qu'est un module et une feuille. J'ai copier votre macro dans mon document mais cela ne marche pas non plus. Je vous donne le Vrai fichier sur lequel j'aimerai faire fonctionner cette macro:https://www.cjoint.com/?3Cboq79G6Kf
Merci beaucoup
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié par ccm81 le 1/03/2013 à 17:52
Modifié par ccm81 le 1/03/2013 à 17:52
au format axcel 2003
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié par ccm81 le 1/03/2013 à 18:40
Modifié par ccm81 le 1/03/2013 à 18:40
OK, mais
1. tu as changé la cellule cible: B9 au lieu de B10
2. tu as mis des Alt-Entree pour forcer les passages à la ligne dans B9
donc, la macro ne retrouve plus ses petits
Le bon côté c'est que je t'ai simplifié le code
https://www.cjoint.com/?3CbsuAw0oik
Un module de feuille (situé dans la liste des feuilles fenêtre de gauche dans l'éditeur VBA est destiné à recevoir les procédures et fonctions propres à cette feuille
Un module "général" (Module 1, Module 2 quand tu fais Insertion/module) est un module dans lequel les procédures et fonctions concernent n'importe quelle feuille
Dans Module 1 tu trouveras la procédure
Masque_Montre(target As Range)
qui fait le boulot à partir de la cellule target reçue au moment de l'appel depuis la procédure WorksheetChange du module de la feuille active
Dans les modules des feuilles 1-2-3- ... tu trouveras la procédure Worksheet_Change(ByVal target As Range)
qui appelle Montre_Cache en lui envoyant la cellule active comme paramètre
Il ne te reste plus qu'à copier l'intégralité du code du module de la feuille 1 dans les modules des autres feuilles
Si tu as besoin d'autres précisions, n'hésites pas
bonne soirée
1. tu as changé la cellule cible: B9 au lieu de B10
2. tu as mis des Alt-Entree pour forcer les passages à la ligne dans B9
donc, la macro ne retrouve plus ses petits
Le bon côté c'est que je t'ai simplifié le code
https://www.cjoint.com/?3CbsuAw0oik
Un module de feuille (situé dans la liste des feuilles fenêtre de gauche dans l'éditeur VBA est destiné à recevoir les procédures et fonctions propres à cette feuille
Un module "général" (Module 1, Module 2 quand tu fais Insertion/module) est un module dans lequel les procédures et fonctions concernent n'importe quelle feuille
Dans Module 1 tu trouveras la procédure
Masque_Montre(target As Range)
qui fait le boulot à partir de la cellule target reçue au moment de l'appel depuis la procédure WorksheetChange du module de la feuille active
Dans les modules des feuilles 1-2-3- ... tu trouveras la procédure Worksheet_Change(ByVal target As Range)
qui appelle Montre_Cache en lui envoyant la cellule active comme paramètre
Il ne te reste plus qu'à copier l'intégralité du code du module de la feuille 1 dans les modules des autres feuilles
Si tu as besoin d'autres précisions, n'hésites pas
bonne soirée
carotte78
Messages postés
46
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
3 juin 2013
4 mars 2013 à 08:21
4 mars 2013 à 08:21
Mercii beaucoup :)
28 févr. 2013 à 12:56
si il y a deux macros mais je les ai mis l'une dans l'autre Private Sub Worksheet_Change(ByVal Target As Range)
Rows("12:27").Select
If Range("B10").Value = "Cas 3: 1 seule mesure > VLEP ou sur 3 campagnes (9 mesures), la probabilité de dépassement >5% " Then
Selection.EntireRow.Hidden = True
Else
Selection.EntireRow.Hidden = False End If
Rows("16:18").Select
If Range("B10").Value = "Cas 1 bis : 3 CEP < 10% de la VLEP ou 3 campagnes (soit 9 mesures) avec une probabilité de dépassement < ou égale à 0,1% sans EPI respiratoires requis " Then
Selection.EntireRow.Hidden = True
Else
Selection.EntireRow.Hidden = False
End If
End Sub
En faite la cas 3 concerne le slignes 12 A 27 et les cas 1Bis les lignes 16 A18. en fait dans le cas 3 le slignes 12 a 27 s'efface et dans le cas 1 bis c'est les lignes 16 a 18. Mais lorsque je met cas 3 les lignes 16 à 18 ne s'efface pas alors qu'elles devraient merci de votre aide
28 févr. 2013 à 12:57