Macro cache au fur et à mesure
Résolu/Fermé
Claudine
-
24 janv. 2012 à 12:05
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 - 24 févr. 2012 à 14:58
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 - 24 févr. 2012 à 14:58
A voir également:
- Macro cache au fur et à mesure
- Appel caché - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Copie caché - Guide
- Macro word - Guide
- Mesure avec telephone - Guide
17 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
24 janv. 2012 à 13:52
24 janv. 2012 à 13:52
Bonjour,
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'sortie si plus d'une cellule selectionnee
If Target.Column <> 5 And Target.Row <> 12 Then 'cellule E12 selectionnee ??
'pas E12
Else
With Sheets(Sh.Name)
If Left(.Name, 4) = "SF02" And .Range("E12").Value = 0 And .Range("E12").Value <> "" Then
.Visible = False
End If
End With
End If
End Sub
Vous copier ce code dans ThisWorkbook du VBA
Bonne suite
PS: vous savez comment faire pour reafficher les onglets caches!...
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'sortie si plus d'une cellule selectionnee
If Target.Column <> 5 And Target.Row <> 12 Then 'cellule E12 selectionnee ??
'pas E12
Else
With Sheets(Sh.Name)
If Left(.Name, 4) = "SF02" And .Range("E12").Value = 0 And .Range("E12").Value <> "" Then
.Visible = False
End If
End With
End If
End Sub
Vous copier ce code dans ThisWorkbook du VBA
Bonne suite
PS: vous savez comment faire pour reafficher les onglets caches!...
Pour reafficher les onglets j'ai fait cette macro est-elle toujours valable avec votre macro.
Sub affOnglet()
Dim w As Worksheet
For Each w In Worksheets
If Left(w.Name, 4) = "SF02" Then
w.Visible = True
End If
Next w
End Sub
Merci de votre aide
Je viens d'essayer votre macro et la première ligne se met en rouge il ne excel ne veut pas du "sub"
Encore merci de votre aide
Sub affOnglet()
Dim w As Worksheet
For Each w In Worksheets
If Left(w.Name, 4) = "SF02" Then
w.Visible = True
End If
Next w
End Sub
Merci de votre aide
Je viens d'essayer votre macro et la première ligne se met en rouge il ne excel ne veut pas du "sub"
Encore merci de votre aide
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
24 janv. 2012 à 14:20
24 janv. 2012 à 14:20
Re
Macro toujours valable.
Bonne suite
Macro toujours valable.
Bonne suite
Je viens d'essayer votre macro et la première ligne se met en rouge il ne excel ne veut pas du "sub"
Encore merci de votre aide
Encore merci de votre aide
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
24 janv. 2012 à 16:53
24 janv. 2012 à 16:53
Re,
Montrez ce que vous avez comme code
Montrez ce que vous avez comme code
comme code j'ai erreur d'execusion '424'
Sub Cache_Onglets()
If Target.Column <> 5 And Target.Row <> 12 Then 'cellule E12 selectionnee ??
'pas E12
Else
With Sheets(Sh.Name)
If Left(.Name, 4) = "SF02" And .Range("E12").Value = 0 And .Range("E12").Value <> "" Then
.Visible = False
End If
End With
End If
End Sub
La ligne If traget. se met en surbrillance
Sub Cache_Onglets()
If Target.Column <> 5 And Target.Row <> 12 Then 'cellule E12 selectionnee ??
'pas E12
Else
With Sheets(Sh.Name)
If Left(.Name, 4) = "SF02" And .Range("E12").Value = 0 And .Range("E12").Value <> "" Then
.Visible = False
End If
End With
End If
End Sub
La ligne If traget. se met en surbrillance
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
23 févr. 2012 à 14:35
23 févr. 2012 à 14:35
Bonjour,
il ne faut pas récupérer le code de f894009 et le mettre dans votre macro, mais bien de copier ce qu'il a écrit.
La macro a utiliser est simplement celle de f894009, ni plus, ni moins.
il ne faut pas récupérer le code de f894009 et le mettre dans votre macro, mais bien de copier ce qu'il a écrit.
La macro a utiliser est simplement celle de f894009, ni plus, ni moins.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je suis un peut blonde mais je n'est pas mis le code f894009 dans ma macro
Voici exacement se que j'ai mis :
Sub Cache_Onglets()
If Target.Column <> 5 And Target.Row <> 12 Then 'cellule E12 selectionnee ??
'pas E12
Else
With Sheets(Sh.Name)
If Left(.Name, 4) = "SF02" And .Range("E12").Value = 0 And .Range("E12").Value <> "" Then
.Visible = False
End If
End With
End If
End Sub
Dite moi se que je fais mal ou se que je dois faire ou comment procéder.
Merci d'avance
Voici exacement se que j'ai mis :
Sub Cache_Onglets()
If Target.Column <> 5 And Target.Row <> 12 Then 'cellule E12 selectionnee ??
'pas E12
Else
With Sheets(Sh.Name)
If Left(.Name, 4) = "SF02" And .Range("E12").Value = 0 And .Range("E12").Value <> "" Then
.Visible = False
End If
End With
End If
End Sub
Dite moi se que je fais mal ou se que je dois faire ou comment procéder.
Merci d'avance
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
23 févr. 2012 à 14:54
23 févr. 2012 à 14:54
Ce qu'il faut faire :
1°) ouvrir VBA (Alt+F11)
2°) Dans la colonne de gauche, double-cliquer sur 'This Workbook'
3°) Copier sans rien changer la macro de f894009
4°) enregistrer
Le principe de sa macro est qu'il s'agit d'une macro événementielle, qui se déclenche lors d'une action spécifique (ici la modification d'une cellule). Ce qui la différencie de vos macro, c'est que pouvoir les lancer, vous devez cliquer sur un bouton, ou les lancer manuellement. Les macro événementielles se déclenche automatiquement.
1°) ouvrir VBA (Alt+F11)
2°) Dans la colonne de gauche, double-cliquer sur 'This Workbook'
3°) Copier sans rien changer la macro de f894009
4°) enregistrer
Le principe de sa macro est qu'il s'agit d'une macro événementielle, qui se déclenche lors d'une action spécifique (ici la modification d'une cellule). Ce qui la différencie de vos macro, c'est que pouvoir les lancer, vous devez cliquer sur un bouton, ou les lancer manuellement. Les macro événementielles se déclenche automatiquement.
Pardon mais les macro ne sont pas simple pour moi et j'ai des laccunes
Alors voilà ou j'en suis :
1 - quand je fais Alt+F11 je tombe sur ma première macro
2 - je n'ai pas de colonne de gauche pour double clic sur 'This Workbook'
j'ai en haut de l'écran ma barre d'outil
en dessous un à gauche un déroulant ou il y a d'écrit général et à droite un déroulant ou il y a d'écrit cache_onglets
puis la macro suivante :
Sub Cache_Onglets()
For x = 1 To Sheets.Count
If Left(Sheets(x).Name, 4) = "SF02" Then
Sheets(x).Activate
If Range("E12").Value = 0 And Range("E12").Value <> "" Then
'Cache Onglet
Sheets(x).Visible = False
End If
End If
Next x
End Sub
Merci de me guider encore une fois
Alors voilà ou j'en suis :
1 - quand je fais Alt+F11 je tombe sur ma première macro
2 - je n'ai pas de colonne de gauche pour double clic sur 'This Workbook'
j'ai en haut de l'écran ma barre d'outil
en dessous un à gauche un déroulant ou il y a d'écrit général et à droite un déroulant ou il y a d'écrit cache_onglets
puis la macro suivante :
Sub Cache_Onglets()
For x = 1 To Sheets.Count
If Left(Sheets(x).Name, 4) = "SF02" Then
Sheets(x).Activate
If Range("E12").Value = 0 And Range("E12").Value <> "" Then
'Cache Onglet
Sheets(x).Visible = False
End If
End If
Next x
End Sub
Merci de me guider encore une fois
J'ai trouver ma colonne sur la gauche et j'ai clic double clic sur This Workbook, j'ai copier la macro, j'ai enregistrer mais elle ne fonctionne pas je pense qu'il me manque une petite chose par exemple à la place de mettre :
Sub Cache onglets() on doit mettre autre chose et à la fin de la macro à la place de mettre End Sub on devrait aussi mettre autre chose.
Mais ma question est Quoi ?
Sub Cache onglets() on doit mettre autre chose et à la fin de la macro à la place de mettre End Sub on devrait aussi mettre autre chose.
Mais ma question est Quoi ?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié par f894009 le 23/02/2012 à 16:18
Modifié par f894009 le 23/02/2012 à 16:18
Bonjour Claudine
Vous devez mettre le code que je vous ai fourni.
Votre macro Sub Cache onglets() ne sert plus.
A+
Vous devez mettre le code que je vous ai fourni.
Votre macro Sub Cache onglets() ne sert plus.
A+
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 23/02/2012 à 16:10
Modifié par Mike-31 le 23/02/2012 à 16:10
Salut,
Il est fortement déconseillé d'ouvrir plusieurs discussions sur le même sujet qui n'a pour effet que de disperser les intervenants alors que des discussions restent en souffrances.
Des solutions t'on été données sur cette discussion qui on été remerciées par des votes négatifs alors que le sujet à été mis en statut résolu drôle façon de remercier les intervenants qui donnent sans compter
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Il est fortement déconseillé d'ouvrir plusieurs discussions sur le même sujet qui n'a pour effet que de disperser les intervenants alors que des discussions restent en souffrances.
Des solutions t'on été données sur cette discussion qui on été remerciées par des votes négatifs alors que le sujet à été mis en statut résolu drôle façon de remercier les intervenants qui donnent sans compter
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Pardon pour Mike, mais comme nous somme a 2 sur mon log ma collègue m'avait dit que ta solution était OK mais je n'ai pu l'appliquer et comme il y a quelque temps j'avais commencé a faire les démarches j'ai repris le relais et je lui est demandé de ne plus prendre mon log afin qu'il n'y est pas de soucis d'interprétation.
Pour répondre à f0894009 :
Je voulais que quand je mets un 1 dans ma cellule E12 l'onglet reste et si je mets un 0 l'onglet se cache.
Dans l'attente de votre aide
Pour répondre à f0894009 :
Je voulais que quand je mets un 1 dans ma cellule E12 l'onglet reste et si je mets un 0 l'onglet se cache.
Dans l'attente de votre aide
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
23 févr. 2012 à 16:33
23 févr. 2012 à 16:33
Re,
Ouvrir VBA par Alt+F11
double click sur ThisWorkbook
Copiez le code ci-dessous
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'sortie si plus d'une cellule selectionnee
If Target.Column <> 5 And Target.Row <> 12 Then 'cellule E12 selectionnee ??
'pas E12
Else
With Sheets(Sh.Name)
If Left(.Name, 4) = "SF02" And .Range("E12").Value = 0 And .Range("E12").Value <> "" Then
.Visible = False
End If
End With
End If
End Sub
A votre ecoute pour toutes explications
Ouvrir VBA par Alt+F11
double click sur ThisWorkbook
Copiez le code ci-dessous
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'sortie si plus d'une cellule selectionnee
If Target.Column <> 5 And Target.Row <> 12 Then 'cellule E12 selectionnee ??
'pas E12
Else
With Sheets(Sh.Name)
If Left(.Name, 4) = "SF02" And .Range("E12").Value = 0 And .Range("E12").Value <> "" Then
.Visible = False
End If
End With
End If
End Sub
A votre ecoute pour toutes explications
Encore moi,
Et pardon pour mon ignorance sur le sujet. Je viens de faire ce que vous me dites puis j'ai enregistré mais rien ne se passe. Et quand je fais outil macro elle n'apparaît pas dans la liste des macros, et quand je fait Alt F11 à l'écrant apparraît ma première macro comment dois-je faire car je pense que je suis vraiment bête et excuser moi encore une fois.
Et pardon pour mon ignorance sur le sujet. Je viens de faire ce que vous me dites puis j'ai enregistré mais rien ne se passe. Et quand je fais outil macro elle n'apparaît pas dans la liste des macros, et quand je fait Alt F11 à l'écrant apparraît ma première macro comment dois-je faire car je pense que je suis vraiment bête et excuser moi encore une fois.
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
Modifié par chossette9 le 23/02/2012 à 16:47
Modifié par chossette9 le 23/02/2012 à 16:47
e viens de faire ce que vous me dites puis j'ai enregistré mais rien ne se passe
Avez -vous essayé ensuite de modifier une cellule et de voir si l'onglet était caché ?
Avez -vous essayé ensuite de modifier une cellule et de voir si l'onglet était caché ?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
23 févr. 2012 à 16:50
23 févr. 2012 à 16:50
Re,
Pas de soucis. Votre EXCEL: 2003 ou 2007-2010 pour vous mettre a dispo un exemple?
A+
Pas de soucis. Votre EXCEL: 2003 ou 2007-2010 pour vous mettre a dispo un exemple?
A+
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 23/02/2012 à 16:57
Modifié par Mike-31 le 23/02/2012 à 16:57
Re,
En E12 tu saisis 0 tous les onglets se cachent, ensuite 2 affiche la feuil2, 3 la feuil3 etc ...
En E12 le numéro de feuille peut être remplacé par son nom
https://www.cjoint.com/?BBxq0MLRKsH
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
En E12 tu saisis 0 tous les onglets se cachent, ensuite 2 affiche la feuil2, 3 la feuil3 etc ...
En E12 le numéro de feuille peut être remplacé par son nom
https://www.cjoint.com/?BBxq0MLRKsH
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
23 févr. 2012 à 16:59
23 févr. 2012 à 16:59
Bonjour Mike-31
Il semble que la demande a evolue depuis la proposition que j'ai faite le 24 janvier. Je vous laisse la main.
Bye
Il semble que la demande a evolue depuis la proposition que j'ai faite le 24 janvier. Je vous laisse la main.
Bye
Bonsoir,
Je vous joint mon fichier
Dans l'onglet SF03 je mets un 1 et dans l'onglet SF02 il se met tout seul et je veux quand il y a un 1 dans la cellule E12 que l'onglet reste et quand il y a 0 l'onglet se cache
http://cjoint.com/?3BxroF3YP1J
Merci de votre aide
Je vous joint mon fichier
Dans l'onglet SF03 je mets un 1 et dans l'onglet SF02 il se met tout seul et je veux quand il y a un 1 dans la cellule E12 que l'onglet reste et quand il y a 0 l'onglet se cache
http://cjoint.com/?3BxroF3YP1J
Merci de votre aide
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 23/02/2012 à 18:30
Modifié par Mike-31 le 23/02/2012 à 18:30
Re,
C'est plus parlant avec ton fichier, pour commencer sur ta feuille SF03 dans quelle cellule veux tu saisir 1 ?
Si je comprends bien, en mettant 1 dans ta cellule à définir, feuille SF03 toutes les feuilles s'affichent ou simplement les SF02 ?
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
C'est plus parlant avec ton fichier, pour commencer sur ta feuille SF03 dans quelle cellule veux tu saisir 1 ?
Si je comprends bien, en mettant 1 dans ta cellule à définir, feuille SF03 toutes les feuilles s'affichent ou simplement les SF02 ?
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
23 févr. 2012 à 20:58
23 févr. 2012 à 20:58
J'ai décortiqué ton fichier, je modifie la macro et te retourne le fichier
A+
A+
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
23 févr. 2012 à 23:16
23 févr. 2012 à 23:16
Re,
récupère ton fichier sur ce lien
http://dl.free.fr/getfile.pl?file=/i4xgyNIK
récupère ton fichier sur ce lien
http://dl.free.fr/getfile.pl?file=/i4xgyNIK
Merci merci Merci encore à vous tous qui vous êtes donnés beaucoup de mal avec ma macro.
Merci encore Mike-31 pour ta précieuse aide car vraiment je n'y serai pas arrivée toute seul.
Encore merci.
Merci encore Mike-31 pour ta précieuse aide car vraiment je n'y serai pas arrivée toute seul.
Encore merci.
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
24 févr. 2012 à 14:58
24 févr. 2012 à 14:58
Re,
Ce n'est rien, et il serait possible d'améliorer le code. J'ai préféré écrire 4 lignes par feuille pour te permettre de le comprendre et surtout de le reproduire. J'ai supprimé des codes inutiles par contre tu as deux Modules avec des codes dont 1 inutile que tu peux supprimer.
Si tu as besoin n'hésite pas de revenir sur le forum et évite d'ouvrir plusieurs discussions similaires
Ce n'est rien, et il serait possible d'améliorer le code. J'ai préféré écrire 4 lignes par feuille pour te permettre de le comprendre et surtout de le reproduire. J'ai supprimé des codes inutiles par contre tu as deux Modules avec des codes dont 1 inutile que tu peux supprimer.
Si tu as besoin n'hésite pas de revenir sur le forum et évite d'ouvrir plusieurs discussions similaires