J'ai cette macro qui fonctionne mais sur 52 onglets elle m'est un temps
=E9norme !!!
Comment faire pour tenter de la rendre plus v=E9loce sachant que je n'ai
que les 70 premi=E8res lignes =E0 traiter.
Sub masquerlignes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal =3D "VRAI"
NomF =3D "*Sem*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver =3D f.Cells.Find(LaVal, LookIn:=3DxlValues)
If Not Atrouver Is Nothing Then
uneoccurence =3D Atrouver.Address
Do
Atrouver.EntireRow.Hidden =3D True
Set Atrouver =3D f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <> uneoccurence
End If
End If
Next f
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
Bonjour,
Avec une boucle sur les feuilles et pour chacune de celles-ci, l'utilisation d'un filtre élaboré si la valeur à trouver peut se situer dans plusieurs colonnes ou d'un filtre simple ( avec l'option personnalisée eventuellement) si l'occurence ne se situe que dans une seule colonne permettra de masquer les lignes qui ne contiennent pas la valeur en question
A+
Bonjour à tous,
J'ai cette macro qui fonctionne mais sur 52 onglets elle m'est un temps énorme !!! Comment faire pour tenter de la rendre plus véloce sachant que je n'ai que les 70 premières lignes à traiter. Sub masquerlignes() Dim f As Worksheet Dim Atrouver As Range Dim LaVal$, NomF$ LaVal = "VRAI" NomF = "*Sem*" For Each f In Sheets If f.Name Like NomF Then Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues) If Not Atrouver Is Nothing Then uneoccurence = Atrouver.Address Do Atrouver.EntireRow.Hidden = True Set Atrouver = f.Cells.FindNext(Atrouver) On Error Resume Next Loop While Not Atrouver Is Nothing And Atrouver.Address <> uneoccurence End If End If Next f End Sub
merci d'avance et bonne journée à tous MarcT
Bonjour,
Avec une boucle sur les feuilles et pour chacune de celles-ci,
l'utilisation d'un filtre élaboré si la valeur à trouver peut se situer
dans plusieurs colonnes ou d'un filtre simple ( avec l'option
personnalisée eventuellement) si l'occurence ne se situe que dans une
seule colonne permettra de masquer les lignes qui ne contiennent pas la
valeur en question
A+
Bonjour à tous,
J'ai cette macro qui fonctionne mais sur 52 onglets elle m'est un temps
énorme !!!
Comment faire pour tenter de la rendre plus véloce sachant que je n'ai
que les 70 premières lignes à traiter.
Sub masquerlignes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "VRAI"
NomF = "*Sem*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireRow.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <> uneoccurence
End If
End If
Next f
End Sub
Avec une boucle sur les feuilles et pour chacune de celles-ci, l'utilisation d'un filtre élaboré si la valeur à trouver peut se situer dans plusieurs colonnes ou d'un filtre simple ( avec l'option personnalisée eventuellement) si l'occurence ne se situe que dans une seule colonne permettra de masquer les lignes qui ne contiennent pas la valeur en question
A+
Bonjour à tous,
J'ai cette macro qui fonctionne mais sur 52 onglets elle m'est un temps énorme !!! Comment faire pour tenter de la rendre plus véloce sachant que je n'ai que les 70 premières lignes à traiter. Sub masquerlignes() Dim f As Worksheet Dim Atrouver As Range Dim LaVal$, NomF$ LaVal = "VRAI" NomF = "*Sem*" For Each f In Sheets If f.Name Like NomF Then Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues) If Not Atrouver Is Nothing Then uneoccurence = Atrouver.Address Do Atrouver.EntireRow.Hidden = True Set Atrouver = f.Cells.FindNext(Atrouver) On Error Resume Next Loop While Not Atrouver Is Nothing And Atrouver.Address <> uneoccurence End If End If Next f End Sub
merci d'avance et bonne journée à tous MarcT
Marc T
Bonjour Anonymous,
merci pour cette réponse rapide. Comment rajouter une boucle su chacune des feuilles ? je ne sais pas faire !!! et je voudrais éviter le filtre pour une question de présentation. merci encore amicalement MarcT anonymousA wrote:
Bonjour,
Avec une boucle sur les feuilles et pour chacune de celles-ci, l'utilisation d'un filtre élaboré si la valeur à trouver peut se si tuer dans plusieurs colonnes ou d'un filtre simple ( avec l'option personnalisée eventuellement) si l'occurence ne se situe que dans une seule colonne permettra de masquer les lignes qui ne contiennent pas la valeur en question
A+
Bonjour à tous,
J'ai cette macro qui fonctionne mais sur 52 onglets elle m'est un temps énorme !!! Comment faire pour tenter de la rendre plus véloce sachant que je n'ai que les 70 premières lignes à traiter. Sub masquerlignes() Dim f As Worksheet Dim Atrouver As Range Dim LaVal$, NomF$ LaVal = "VRAI" NomF = "*Sem*" For Each f In Sheets If f.Name Like NomF Then Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues) If Not Atrouver Is Nothing Then uneoccurence = Atrouver.Address Do Atrouver.EntireRow.Hidden = True Set Atrouver = f.Cells.FindNext(Atrouver) On Error Resume Next Loop While Not Atrouver Is Nothing And Atrouver.Address <> uneoccurence End If End If Next f End Sub
merci d'avance et bonne journée à tous MarcT
Bonjour Anonymous,
merci pour cette réponse rapide.
Comment rajouter une boucle su chacune des feuilles ? je ne sais pas
faire !!!
et je voudrais éviter le filtre pour une question de présentation.
merci encore
amicalement
MarcT
anonymousA wrote:
Bonjour,
Avec une boucle sur les feuilles et pour chacune de celles-ci,
l'utilisation d'un filtre élaboré si la valeur à trouver peut se si tuer
dans plusieurs colonnes ou d'un filtre simple ( avec l'option
personnalisée eventuellement) si l'occurence ne se situe que dans une
seule colonne permettra de masquer les lignes qui ne contiennent pas la
valeur en question
A+
Bonjour à tous,
J'ai cette macro qui fonctionne mais sur 52 onglets elle m'est un temps
énorme !!!
Comment faire pour tenter de la rendre plus véloce sachant que je n'ai
que les 70 premières lignes à traiter.
Sub masquerlignes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "VRAI"
NomF = "*Sem*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireRow.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <> uneoccurence
End If
End If
Next f
End Sub
merci pour cette réponse rapide. Comment rajouter une boucle su chacune des feuilles ? je ne sais pas faire !!! et je voudrais éviter le filtre pour une question de présentation. merci encore amicalement MarcT anonymousA wrote:
Bonjour,
Avec une boucle sur les feuilles et pour chacune de celles-ci, l'utilisation d'un filtre élaboré si la valeur à trouver peut se si tuer dans plusieurs colonnes ou d'un filtre simple ( avec l'option personnalisée eventuellement) si l'occurence ne se situe que dans une seule colonne permettra de masquer les lignes qui ne contiennent pas la valeur en question
A+
Bonjour à tous,
J'ai cette macro qui fonctionne mais sur 52 onglets elle m'est un temps énorme !!! Comment faire pour tenter de la rendre plus véloce sachant que je n'ai que les 70 premières lignes à traiter. Sub masquerlignes() Dim f As Worksheet Dim Atrouver As Range Dim LaVal$, NomF$ LaVal = "VRAI" NomF = "*Sem*" For Each f In Sheets If f.Name Like NomF Then Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues) If Not Atrouver Is Nothing Then uneoccurence = Atrouver.Address Do Atrouver.EntireRow.Hidden = True Set Atrouver = f.Cells.FindNext(Atrouver) On Error Resume Next Loop While Not Atrouver Is Nothing And Atrouver.Address <> uneoccurence End If End If Next f End Sub