Lancement d'une macro en automatique
Résolu/Fermé
bouhaben79
Messages postés
7
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
15 novembre 2013
-
24 févr. 2012 à 14:14
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 - 5 mars 2012 à 13:40
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 - 5 mars 2012 à 13:40
A voir également:
- Lancement d'une macro en automatique
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Message automatique thunderbird - Guide
- Macro word - Guide
- Gmail libellé automatique - Guide
17 réponses
g
Messages postés
1262
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
15 mai 2017
573
24 févr. 2012 à 15:41
24 févr. 2012 à 15:41
Bonjour,
Code à copier dans le module de feuille:
Code à copier dans un module standard:
Cordialement.
Code à copier dans le module de feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Range("A1") = 1 Then Masquer ElseIf Range("A1") <> 1 Then Afficher End If End Sub
Code à copier dans un module standard:
Sub Masquer() Rows("8:12").Select Selection.EntireRow.Hidden = True Rows("23:29").Select Selection.EntireRow.Hidden = True Range("A1").Select End Sub Sub Afficher() Rows("7:30").Select Selection.EntireRow.Hidden = False Range("A1").Select End Sub
Cordialement.
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 102
24 févr. 2012 à 17:58
24 févr. 2012 à 17:58
Salut,
clic droit sur l'onglet de feuille concernée/Visualiser le code et colle ce code dans la partie vide de la page qui s'ouvre
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
If [A1] = 1 Then [8:12,23:29].EntireRow.Hidden = True
If [A1] = 0 Then [8:12,23:29].EntireRow.Hidden = False
End If
End Sub
pour revenir à ta feuille Excel clic en haut à droite sur l'icone Excel.
lorsque tu saisiras 1 en A1 les lignes se masquerons et 0 pour les afficher
clic droit sur l'onglet de feuille concernée/Visualiser le code et colle ce code dans la partie vide de la page qui s'ouvre
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
If [A1] = 1 Then [8:12,23:29].EntireRow.Hidden = True
If [A1] = 0 Then [8:12,23:29].EntireRow.Hidden = False
End If
End Sub
pour revenir à ta feuille Excel clic en haut à droite sur l'icone Excel.
lorsque tu saisiras 1 en A1 les lignes se masquerons et 0 pour les afficher
g
Messages postés
1262
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
15 mai 2017
573
24 févr. 2012 à 18:19
24 févr. 2012 à 18:19
Bonjour Mike-31,
Je préfère ton code.
La 4 ème ligne devrait être modifiée ainsi
Cordialement.
Je préfère ton code.
La 4 ème ligne devrait être modifiée ainsi
If [A1] <> 1 Then [8:12,23:29].EntireRow.Hidden = Falseafin d'annuler le masquage lorsque A1 passe de 1 à un nombre différent de 0.
Cordialement.
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 102
24 févr. 2012 à 18:27
24 févr. 2012 à 18:27
Re,
Oui pourquoi pas, à part qu'il y ai d'autres lignes à masquer en fonction d'un valeur ou que la cellule contienne d'autre valeurs.
A suivre
Oui pourquoi pas, à part qu'il y ai d'autres lignes à masquer en fonction d'un valeur ou que la cellule contienne d'autre valeurs.
A suivre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
D'abord merci pour votre aide, les macros que vous m'avez donné fonctionnes
Par contre je voudrais aller jusqu'à 12 conditions commment faire?
c'est à dire
A1 = 1 masquer Ligne 10 à 23 et 36 à 49
A1 = 2 masquer Ligne 11 à 23 et 37 à 49
A1 = 3 masquer Ligne 12 à 23 et 38 à 49
ect ect
merci d'avance
D'abord merci pour votre aide, les macros que vous m'avez donné fonctionnes
Par contre je voudrais aller jusqu'à 12 conditions commment faire?
c'est à dire
A1 = 1 masquer Ligne 10 à 23 et 36 à 49
A1 = 2 masquer Ligne 11 à 23 et 37 à 49
A1 = 3 masquer Ligne 12 à 23 et 38 à 49
ect ect
merci d'avance
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 102
27 févr. 2012 à 18:08
27 févr. 2012 à 18:08
Re,
C'est bien ce à quoi je pensais
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
If [A1] = 1 Then [8:12,23:29].EntireRow.Hidden = True
If [A1] = 2 Then [11:23,37:49].EntireRow.Hidden = True
If [A1] = 3Then [12:23,38:49].EntireRow.Hidden = True
If [A1] = 0 Then [8:49].EntireRow.Hidden = False
End If
End Sub
il est possible que tu souhaites masquer les lignes tributaires de la valeur 2 ou 3 en A1 lorsque A1 est égale à 1
si c'est le cas le préciser pour en tenir compte dans le code
C'est bien ce à quoi je pensais
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
If [A1] = 1 Then [8:12,23:29].EntireRow.Hidden = True
If [A1] = 2 Then [11:23,37:49].EntireRow.Hidden = True
If [A1] = 3Then [12:23,38:49].EntireRow.Hidden = True
If [A1] = 0 Then [8:49].EntireRow.Hidden = False
End If
End Sub
il est possible que tu souhaites masquer les lignes tributaires de la valeur 2 ou 3 en A1 lorsque A1 est égale à 1
si c'est le cas le préciser pour en tenir compte dans le code
Merci Mike ça fonctionne parfaitement j'ai même rajouté une 3ème plages de lignes à cacher ou afficher
par contre je voulais me servir de vos macros pour faire la meme chose avec des feuilles c'est àd ire cacher et afficher les onglet voici ce que j'ai fait
Module de la feuille
Private Sub Worksheet_Change2(ByVal Target As Range)
If Not Intersect(Target, Range("B3")) Is Nothing Then
If [B3] = 1 Then ["Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6"].SelectedSheets.Visible = False
If [B3] = 0 Then ["Ref 1", "Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6"].SelectedSheets.Visble = True
End If
End Sub
Module normal
Sub Masquersheet()
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6")).Select
SelectedSheets.Visible = False
Range("B3").Select
End Sub
Sub Affichersheet()
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6")).Select
SelectedSheets.Visible = True
Range("B3").Select
End Sub
Il me met erreur 424 "objet" quand je fait F8 il m'indique que mon probleme vient de la ligne "Range ("B3") select
Qu'en pensez vous?
Merci
par contre je voulais me servir de vos macros pour faire la meme chose avec des feuilles c'est àd ire cacher et afficher les onglet voici ce que j'ai fait
Module de la feuille
Private Sub Worksheet_Change2(ByVal Target As Range)
If Not Intersect(Target, Range("B3")) Is Nothing Then
If [B3] = 1 Then ["Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6"].SelectedSheets.Visible = False
If [B3] = 0 Then ["Ref 1", "Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6"].SelectedSheets.Visble = True
End If
End Sub
Module normal
Sub Masquersheet()
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6")).Select
SelectedSheets.Visible = False
Range("B3").Select
End Sub
Sub Affichersheet()
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6")).Select
SelectedSheets.Visible = True
Range("B3").Select
End Sub
Il me met erreur 424 "objet" quand je fait F8 il m'indique que mon probleme vient de la ligne "Range ("B3") select
Qu'en pensez vous?
Merci
g
Messages postés
1262
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
15 mai 2017
573
28 févr. 2012 à 17:37
28 févr. 2012 à 17:37
Bonjour,
En attendant une meilleure solution essaie ceci:
Cordialement.
En attendant une meilleure solution essaie ceci:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B3")) Is Nothing Then If [B3] = 1 Then Sheets("Ref 1").Visible = False Sheets("Ref 2").Visible = False Sheets("Ref 3").Visible = False Sheets("Ref 4").Visible = False Sheets("Ref 5").Visible = False Sheets("Ref 6").Visible = False End If If [B3] = 0 Then Sheets("Ref 1").Visible = True Sheets("Ref 2").Visible = True Sheets("Ref 3").Visible = True Sheets("Ref 4").Visible = True Sheets("Ref 5").Visible = True Sheets("Ref 6").Visible = True End If End If End Sub
Cordialement.
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 102
Modifié par Mike-31 le 28/02/2012 à 17:55
Modifié par Mike-31 le 28/02/2012 à 17:55
Re,
Je m'étais absenté, si tu souhaites depuis la cellule B3 de la feuille1 masquer ou afficher des onglets, clic droit sur l'onglet de ta feuille1/Visualiser le code et colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("B3").Value
Case Is = "1"
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "0"
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = True
Next
End Select
Sheets("Feuil1").Activate
End Sub
mais attention tu ne peux utiliser la syntaxe qu'une seule fois
Private Sub Worksheet_Change(ByVal Target As Range)
Comment ce fait il que tu ais
Private Sub Worksheet_Change2(ByVal Target As Range)
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Je m'étais absenté, si tu souhaites depuis la cellule B3 de la feuille1 masquer ou afficher des onglets, clic droit sur l'onglet de ta feuille1/Visualiser le code et colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("B3").Value
Case Is = "1"
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "0"
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = True
Next
End Select
Sheets("Feuil1").Activate
End Sub
mais attention tu ne peux utiliser la syntaxe qu'une seule fois
Private Sub Worksheet_Change(ByVal Target As Range)
Comment ce fait il que tu ais
Private Sub Worksheet_Change2(ByVal Target As Range)
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Le problème c'est que j'ai déjà un code Private Sub Worksheet_Change(ByVal Target As Range) sur cette feuille (le code est celui précédement communiquer par vos soins pour cacher et afficher le lignes)
Comment faire?
Comment faire?
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 102
29 févr. 2012 à 15:31
29 févr. 2012 à 15:31
Re,
Il faut imbriquer les codes, je pourrais te le faire que dans la soirée
Il faut imbriquer les codes, je pourrais te le faire que dans la soirée
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 102
29 févr. 2012 à 20:18
29 févr. 2012 à 20:18
Re,
Colle ce code dans les propriétés de ta feuille 1
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("A1").Value
Case Is = "1"
[8:12,23:29].EntireRow.Hidden = True
Case Is = "2"
[11:23,37:49].EntireRow.Hidden = True
Case Is = "3"
[12:23,38:49].EntireRow.Hidden = True
Case Is = "0"
[8:49].EntireRow.Hidden = False
End Select
Select Case Range("B3").Value
Case Is = "1"
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "0"
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = True
Next
End Select
Sheets("Feuil1").Activate
End Sub
Colle ce code dans les propriétés de ta feuille 1
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("A1").Value
Case Is = "1"
[8:12,23:29].EntireRow.Hidden = True
Case Is = "2"
[11:23,37:49].EntireRow.Hidden = True
Case Is = "3"
[12:23,38:49].EntireRow.Hidden = True
Case Is = "0"
[8:49].EntireRow.Hidden = False
End Select
Select Case Range("B3").Value
Case Is = "1"
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "0"
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = True
Next
End Select
Sheets("Feuil1").Activate
End Sub
Bon je reviens, j'ai un autre probleme que est apparu une fois la macro terminée
Sur la feuille ou je rentre les datas pour cacher les lignes et les feuilles
je dois rentrer des données manuellement dans certainement cellule et quand je rentre la donnée ça me met Erreur 1004 comment enlever ça.
pour info sur les autres feuilles ça ne me le fait pas.
Voici la macro
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("B3").Value
Case Is = "1"
[11:24,37:50,69:82].EntireRow.Hidden = True
Case Is = "2"
[12:24,38:50,70:82].EntireRow.Hidden = True
Case Is = "3"
[13:24,39:50,71:82].EntireRow.Hidden = True
Case Is = "4"
[14:24,40:50,72:82].EntireRow.Hidden = True
Case Is = "5"
[15:24,41:50,73:82].EntireRow.Hidden = True
Case Is = "6"
[16:24,42:50,74:82].EntireRow.Hidden = True
Case Is = "7"
[17:24,43:50,75:82].EntireRow.Hidden = True
Case Is = "8"
[18:24,44:50,76:82].EntireRow.Hidden = True
Case Is = "9"
[19:24,45:50,77:82].EntireRow.Hidden = True
Case Is = "10"
[20:24,46:50,78:82].EntireRow.Hidden = True
Case Is = "11"
[21:24,47:50,79:82].EntireRow.Hidden = True
Case Is = "12"
[22:24,48:50,80:82].EntireRow.Hidden = True
Case Is = "13"
[23:24,49:50,81:82].EntireRow.Hidden = True
Case Is = "14"
[24:24,50:50,82:82].EntireRow.Hidden = True
Case Is = "0"
[8:90].EntireRow.Hidden = False
End Select
Select Case Range("B3").Value
Case Is = "1"
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "2"
Sheets(Array("Ref 3", "Ref 4", "Ref 5", "Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "3"
Sheets(Array("Ref 4", "Ref 5", "Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "4"
Sheets(Array("Ref 5", "Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "5"
Sheets(Array("Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "6"
Sheets(Array("Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "7"
Sheets(Array("Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "8"
Sheets(Array("Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "9"
Sheets(Array("Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "10"
Sheets(Array("Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "11"
Sheets(Array("Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "12"
Sheets(Array("Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "13"
Sheets(Array("Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "14"
Sheets(Array("Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "15"
Sheets(Array("Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "0"
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = True
Next
End Select
Sheets("Détail Calcul Cost").Activate
End Sub
Merci d'avance
Sur la feuille ou je rentre les datas pour cacher les lignes et les feuilles
je dois rentrer des données manuellement dans certainement cellule et quand je rentre la donnée ça me met Erreur 1004 comment enlever ça.
pour info sur les autres feuilles ça ne me le fait pas.
Voici la macro
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("B3").Value
Case Is = "1"
[11:24,37:50,69:82].EntireRow.Hidden = True
Case Is = "2"
[12:24,38:50,70:82].EntireRow.Hidden = True
Case Is = "3"
[13:24,39:50,71:82].EntireRow.Hidden = True
Case Is = "4"
[14:24,40:50,72:82].EntireRow.Hidden = True
Case Is = "5"
[15:24,41:50,73:82].EntireRow.Hidden = True
Case Is = "6"
[16:24,42:50,74:82].EntireRow.Hidden = True
Case Is = "7"
[17:24,43:50,75:82].EntireRow.Hidden = True
Case Is = "8"
[18:24,44:50,76:82].EntireRow.Hidden = True
Case Is = "9"
[19:24,45:50,77:82].EntireRow.Hidden = True
Case Is = "10"
[20:24,46:50,78:82].EntireRow.Hidden = True
Case Is = "11"
[21:24,47:50,79:82].EntireRow.Hidden = True
Case Is = "12"
[22:24,48:50,80:82].EntireRow.Hidden = True
Case Is = "13"
[23:24,49:50,81:82].EntireRow.Hidden = True
Case Is = "14"
[24:24,50:50,82:82].EntireRow.Hidden = True
Case Is = "0"
[8:90].EntireRow.Hidden = False
End Select
Select Case Range("B3").Value
Case Is = "1"
Sheets(Array("Ref 2", "Ref 3", "Ref 4", "Ref 5", "Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "2"
Sheets(Array("Ref 3", "Ref 4", "Ref 5", "Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "3"
Sheets(Array("Ref 4", "Ref 5", "Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "4"
Sheets(Array("Ref 5", "Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "5"
Sheets(Array("Ref 6", "Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "6"
Sheets(Array("Ref 7", "Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "7"
Sheets(Array("Ref 8", "Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "8"
Sheets(Array("Ref 9", "Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "9"
Sheets(Array("Ref 10", "Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "10"
Sheets(Array("Ref 11", "Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "11"
Sheets(Array("Ref 12", "Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "12"
Sheets(Array("Ref 13", "Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "13"
Sheets(Array("Ref 14", "Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "14"
Sheets(Array("Ref 15", "Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "15"
Sheets(Array("Data")).Select
ActiveWindow.SelectedSheets.Visible = False
Case Is = "0"
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = True
Next
End Select
Sheets("Détail Calcul Cost").Activate
End Sub
Merci d'avance
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 102
2 mars 2012 à 18:31
2 mars 2012 à 18:31
Re,
Déjà tu utilises la cellule B3 pour paramétrer tes colonnes et la même cellule pour paramétrer tes colonnes avec les mêmes valeurs.
Alors soit tu utilises deux cellules différentes exemple B2 et B3 ou tu attribues des numéros différents, dans ce cas ces lignes au milieu du code sont inutiles.
End Select
Select Case Range("B3").Value
Lorsque tu saisis par exemple 15 en B3 que veux tu faire, afficher toutes les feuilles et masquer la feuille Data et idem pour les autres numéros, c'est cela ?
Déjà tu utilises la cellule B3 pour paramétrer tes colonnes et la même cellule pour paramétrer tes colonnes avec les mêmes valeurs.
Alors soit tu utilises deux cellules différentes exemple B2 et B3 ou tu attribues des numéros différents, dans ce cas ces lignes au milieu du code sont inutiles.
End Select
Select Case Range("B3").Value
Lorsque tu saisis par exemple 15 en B3 que veux tu faire, afficher toutes les feuilles et masquer la feuille Data et idem pour les autres numéros, c'est cela ?
Bonjour
Tu as raison 15 ne servait à rien je l'ai supprimé
Par exemple quand je mets 3 dans une cellule je veux que les lignes 13 à 24, 30 à 50 et 71 à 82 soient cachées ainsi que les l'onglet Ref 3 à ref 15 + Onglet Data.
Je me suis aperçu que lorsque B3 est = 0 je peux écrire dans n'importe quelle cellule sans erreur 1004, au contraire quand je mets une valeur diff de 0 dans B3 et qu'après je veux écrire des choses dans une cellule lambda j'ai l'erreur 1004 qui apparait.
J'ai essayer d'utiliser B3 pour cacher les lignes et B2 pour cacher les onglets mais le résultat est identique.
Merci d'avance
Tu as raison 15 ne servait à rien je l'ai supprimé
Par exemple quand je mets 3 dans une cellule je veux que les lignes 13 à 24, 30 à 50 et 71 à 82 soient cachées ainsi que les l'onglet Ref 3 à ref 15 + Onglet Data.
Je me suis aperçu que lorsque B3 est = 0 je peux écrire dans n'importe quelle cellule sans erreur 1004, au contraire quand je mets une valeur diff de 0 dans B3 et qu'après je veux écrire des choses dans une cellule lambda j'ai l'erreur 1004 qui apparait.
J'ai essayer d'utiliser B3 pour cacher les lignes et B2 pour cacher les onglets mais le résultat est identique.
Merci d'avance
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 102
5 mars 2012 à 13:40
5 mars 2012 à 13:40
Re,
Bizarre, je viens de tester le code sans le moindre problème, teste sur mon fichier voir si tu rencontre le même problème.
B2 masque ou affiche les lignes et B3 les feuilles.
j'ai ajouté deux lignes de code pour éviter de voir les déplacements pendant l'exécution du code
https://www.cjoint.com/?BCfnMeSUFaf
Bizarre, je viens de tester le code sans le moindre problème, teste sur mon fichier voir si tu rencontre le même problème.
B2 masque ou affiche les lignes et B3 les feuilles.
j'ai ajouté deux lignes de code pour éviter de voir les déplacements pendant l'exécution du code
https://www.cjoint.com/?BCfnMeSUFaf