macro pour un recherche "inverse"

Le
newoceane2000
Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait dans une
cellule un mot et en dessous apparaitrait les noms de tous les onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTENNANT
PAS LE MOT 1 ni le MOT 2).

J'espère que cela est faisable car ça me rendrait vraiment service !

Merci beaucoup
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ellimac
Le #5114791
Bonjour,

Un début de solution avec le mot recherché en dernière feuille cellule A1 :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) =
Sheets(cpt).Name
Next
End Sub

Camille


Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait dans une
cellule un mot et en dessous apparaitrait les noms de tous les onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraiment service !

Merci beaucoup



newoceane2000
Le #5114671
Merci beaucoup Camille pour ce début de solution, le seul problème (et
j'ai oublié de le préciser) c'est que le mot n'est pas reconnu quand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?





On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en dernière feuille cellu le A1 :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
    If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) =
Sheets(cpt).Name
    Next
End Sub

Camille




Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait dans une
cellule un mot et en dessous apparaitrait les noms de tous les onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraiment service !

Merci beaucoup- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



AH60
Le #5114631
Bonsoir

Y a t'il un moyen d'y remédier?


met le Mot à recherché entre * *
exemple en A1 tu met *toto*

Abed_H





Merci beaucoup Camille pour ce début de solution, le seul problème (et
j'ai oublié de le préciser) c'est que le mot n'est pas reconnu quand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?





On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en dernière feuille cellule A1 :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) > > Sheets(cpt).Name
Next
End Sub

Camille




Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait dans une
cellule un mot et en dessous apparaitrait les noms de tous les onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraiment service !

Merci beaucoup- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -







newoceane2000
Le #5114381
Merci beaucou Abded_H avec les * ça marche !!!!

Par contre je voudrais savoir s'il est possible de faire un recherche
inverse combinée avec plusieur mots :

ex : en A1 le premier mot, en A2 le deuxième mot (et si possible
jusqu'à 5 mots) et le résultat donnerait la liste des onglets ne
contenant pas le mot en A1 ni le mot en A2?








On 3 jan, 22:55, AH60
Bonsoir

Y a t'il un moyen d'y remédier?


met le Mot à recherché entre *  *
exemple en A1 tu met  *toto*

Abed_H




Merci beaucoup Camille pour ce début de solution, le seul problème ( et
j'ai oublié de le préciser) c'est que le mot n'est pas reconnu quand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?

On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en dernière feuille c ellule A1 :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
    If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp) (2) =
Sheets(cpt).Name
    Next
End Sub

Camille




Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait dans une
cellule un mot et en dessous apparaitrait les noms de tous les ongle ts
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraiment servi ce !

Merci beaucoup- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -





Ellimac
Le #5114341
Bonjour,

Pas forcément le plus simple mais fonctionne :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n1 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
n2 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a2"))
n3 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a3"))
n4 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a4"))
n5 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a5"))
If n1 > 0 Then n1 = 1
If n2 > 0 Then n2 = 1
If n3 > 0 Then n3 = 1
If n4 > 0 Then n4 = 1
If n5 > 0 Then n5 = 1
n = n1 + n2 + n3 + n4 + n5
If n <> 5 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) =
Sheets(cpt).Name
Next
End Sub

Camille



Merci beaucou Abded_H avec les * ça marche !!!!

Par contre je voudrais savoir s'il est possible de faire un recherche
inverse combinée avec plusieur mots :

ex : en A1 le premier mot, en A2 le deuxième mot (et si possible
jusqu'à 5 mots) et le résultat donnerait la liste des onglets ne
contenant pas le mot en A1 ni le mot en A2?








On 3 jan, 22:55, AH60
Bonsoir

Y a t'il un moyen d'y remédier?


met le Mot à recherché entre * *
exemple en A1 tu met *toto*

Abed_H




Merci beaucoup Camille pour ce début de solution, le seul problème (et
j'ai oublié de le préciser) c'est que le mot n'est pas reconnu quand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?

On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en dernière feuille cellule A1 :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) > > > > Sheets(cpt).Name
Next
End Sub

Camille




Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait dans une
cellule un mot et en dessous apparaitrait les noms de tous les onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraiment service !

Merci beaucoup- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -









newoceane2000
Le #5340231
Bonsoir Camille,

Merci pour votre réponse mais ça ne fonctionne pas sur mon fichier. En
effet a chaque fois toute la liste des onglets apparait.

Est ce qu'il faut bien écrire les mot en A1, A2, ..., A5 ?


On 4 jan, 10:42, Ellimac
Bonjour,

Pas forcément le plus simple mais fonctionne :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n1 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
    n2 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a2"))
    n3 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a3"))
    n4 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a4"))
    n5 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a5"))
    If n1 > 0 Then n1 = 1
    If n2 > 0 Then n2 = 1
    If n3 > 0 Then n3 = 1
    If n4 > 0 Then n4 = 1
    If n5 > 0 Then n5 = 1
    n = n1 + n2 + n3 + n4 + n5
    If n <> 5 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) =
Sheets(cpt).Name
    Next
End Sub

Camille




Merci beaucou Abded_H avec les * ça marche !!!!

Par contre je voudrais savoir s'il est possible de faire un recherche
inverse combinée avec plusieur mots :

ex : en A1 le premier mot, en A2 le deuxième mot (et si possible
jusqu'à 5 mots) et le résultat donnerait la liste des onglets ne
contenant pas le mot en A1 ni le mot en A2?

On 3 jan, 22:55, AH60
Bonsoir

Y a t'il un moyen d'y remédier?


met le Mot à recherché entre *  *
exemple en A1 tu met  *toto*

Abed_H




Merci beaucoup Camille pour ce début de solution, le seul problè me (et
j'ai oublié de le préciser) c'est que le mot n'est pas reconnu q uand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?

On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en dernière feuil le cellule A1 :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
    If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(x lUp)(2) =
Sheets(cpt).Name
    Next
End Sub

Camille






Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal ser ait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait d ans une
cellule un mot et en dessous apparaitrait les noms de tous les o nglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en questio n.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTEN NANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraiment s ervice !

Merci beaucoup- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -







Ellimac
Le #5339621
Bonjour,

Je suis parti de ta demande, lister les feuilles ne contenant pas les 5
mots. Ne sont pas affichées les feuilles contenant les 5 mots.
Faut-il afficher plutôt les feuilles ne contenant aucun des mots ?

Camille


Bonsoir Camille,

Merci pour votre réponse mais ça ne fonctionne pas sur mon fichier. En
effet a chaque fois toute la liste des onglets apparait.

Est ce qu'il faut bien écrire les mot en A1, A2, ..., A5 ?


On 4 jan, 10:42, Ellimac
Bonjour,

Pas forcément le plus simple mais fonctionne :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n1 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
n2 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a2"))
n3 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a3"))
n4 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a4"))
n5 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a5"))
If n1 > 0 Then n1 = 1
If n2 > 0 Then n2 = 1
If n3 > 0 Then n3 = 1
If n4 > 0 Then n4 = 1
If n5 > 0 Then n5 = 1
n = n1 + n2 + n3 + n4 + n5
If n Next
End Sub

Camille




Merci beaucou Abded_H avec les * ça marche !!!!

Par contre je voudrais savoir s'il est possible de faire un recherche
inverse combinée avec plusieur mots :

ex : en A1 le premier mot, en A2 le deuxième mot (et si possible
jusqu'à 5 mots) et le résultat donnerait la liste des onglets ne
contenant pas le mot en A1 ni le mot en A2?

On 3 jan, 22:55, AH60
Bonsoir

Y a t'il un moyen d'y remédier?


met le Mot à recherché entre * *
exemple en A1 tu met *toto*

Abed_H




Merci beaucoup Camille pour ce début de solution, le seul problème (et
j'ai oublié de le préciser) c'est que le mot n'est pas reconnu quand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?

On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en dernière feuille cellule A1 :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) > > > > > > Sheets(cpt).Name
Next
End Sub

Camille






Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait dans une
cellule un mot et en dessous apparaitrait les noms de tous les onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraiment service !

Merci beaucoup- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -











newoceane2000
Le #5339201
Bonjour Camille,

Excuses moi je viens de m'apercevoir que je me suis mal exprimée.

Effectivement il faudrait afficher les feuilles ne contenant aucun des
mots.

Merci pour ton aide

On 5 jan, 12:56, Ellimac
Bonjour,

Je suis parti de ta demande, lister les feuilles ne contenant pas les 5
mots. Ne sont pas affichées les feuilles contenant les 5 mots.
Faut-il afficher plutôt les feuilles ne contenant aucun des mots ?

Camille




Bonsoir Camille,

Merci pour votre réponse mais ça ne fonctionne pas sur mon fichier. En
effet a chaque fois toute la liste des onglets apparait.

Est ce qu'il faut bien écrire les mot en A1, A2, ..., A5 ?

On 4 jan, 10:42, Ellimac
Bonjour,

Pas forcément le plus simple mais fonctionne :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n1 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
    n2 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a2"))
    n3 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a3"))
    n4 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a4"))
    n5 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a5"))
    If n1 > 0 Then n1 = 1
    If n2 > 0 Then n2 = 1
    If n3 > 0 Then n3 = 1
    If n4 > 0 Then n4 = 1
    If n5 > 0 Then n5 = 1
    n = n1 + n2 + n3 + n4 + n5
    If n <> 5 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)( 2) =
Sheets(cpt).Name
    Next
End Sub

Camille




Merci beaucou Abded_H avec les * ça marche !!!!

Par contre je voudrais savoir s'il est possible de faire un recherch e
inverse combinée avec plusieur mots :

ex : en A1 le premier mot, en A2 le deuxième mot (et si possible
jusqu'à 5 mots) et le résultat donnerait la liste des onglets ne
contenant pas le mot en A1 ni le mot en A2?

On 3 jan, 22:55, AH60
Bonsoir

Y a t'il un moyen d'y remédier?


met le Mot à recherché entre *  *
exemple en A1 tu met  *toto*

Abed_H






Merci beaucoup Camille pour ce début de solution, le seul prob lème (et
j'ai oublié de le préciser) c'est que le mot n'est pas recon nu quand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?

On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en dernière f euille cellule A1 :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n = Application.CountIf(Sheets(cpt).Range("a1:iv6500 0"),
Sheets(Sheets.Count).Range("a1"))
    If n = 0 Then Sheets(Sheets.Count).Range("a50000").E nd(xlUp)(2) =
Sheets(cpt).Name
    Next
End Sub

Camille








Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remer cie
d'avance pour le temps que vous allez peut être me consacr er.

Voila, en fait j'ai un fichier Excel avec plus d'une centain e
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrira it dans une
cellule un mot et en dessous apparaitrait les noms de tous l es onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en que stion.

Et le TOP serait que ca marche en combinant plusieurs mots ( 1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CO NTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraime nt service !

Merci beaucoup- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -









Ellimac
Le #5339081
Bonjour,

Le code suivant doit convenir, il affiche les feuilles ne contanant aucun
des mots de A1 à A5 :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n1 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
n2 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a2"))
n3 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a3"))
n4 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a4"))
n5 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a5"))
n = n1 + n2 + n3 + n4 + n5
If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) =
Sheets(cpt).Name
Next
End Sub

Camille


Bonjour Camille,

Excuses moi je viens de m'apercevoir que je me suis mal exprimée.

Effectivement il faudrait afficher les feuilles ne contenant aucun des
mots.

Merci pour ton aide

On 5 jan, 12:56, Ellimac
Bonjour,

Je suis parti de ta demande, lister les feuilles ne contenant pas les 5
mots. Ne sont pas affichées les feuilles contenant les 5 mots.
Faut-il afficher plutôt les feuilles ne contenant aucun des mots ?

Camille




Bonsoir Camille,

Merci pour votre réponse mais ça ne fonctionne pas sur mon fichier. En
effet a chaque fois toute la liste des onglets apparait.

Est ce qu'il faut bien écrire les mot en A1, A2, ..., A5 ?

On 4 jan, 10:42, Ellimac
Bonjour,

Pas forcément le plus simple mais fonctionne :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n1 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
n2 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a2"))
n3 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a3"))
n4 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a4"))
n5 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a5"))
If n1 > 0 Then n1 = 1
If n2 > 0 Then n2 = 1
If n3 > 0 Then n3 = 1
If n4 > 0 Then n4 = 1
If n5 > 0 Then n5 = 1
n = n1 + n2 + n3 + n4 + n5
If n Next
End Sub

Camille




Merci beaucou Abded_H avec les * ça marche !!!!

Par contre je voudrais savoir s'il est possible de faire un recherche
inverse combinée avec plusieur mots :

ex : en A1 le premier mot, en A2 le deuxième mot (et si possible
jusqu'à 5 mots) et le résultat donnerait la liste des onglets ne
contenant pas le mot en A1 ni le mot en A2?

On 3 jan, 22:55, AH60
Bonsoir

Y a t'il un moyen d'y remédier?


met le Mot à recherché entre * *
exemple en A1 tu met *toto*

Abed_H






Merci beaucoup Camille pour ce début de solution, le seul problème (et
j'ai oublié de le préciser) c'est que le mot n'est pas reconnu quand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?

On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en dernière feuille cellule A1 :

Sub Toto()
For cpt = 1 To Sheets.Count - 1
n = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) > > > > > > > > Sheets(cpt).Name
Next
End Sub

Camille








Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous remercie
d'avance pour le temps que vous allez peut être me consacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une centaine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'ideal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on inscrirait dans une
cellule un mot et en dessous apparaitrait les noms de tous les onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mots (1 à 5)
dans la recherche (cela donnerait la liste des onglets ne CONTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vraiment service !

Merci beaucoup- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -













newoceane2000
Le #5336791
Bonsoir Camille,

Cette fois ci ces tout à fait ce que je voulais et ca marche très
bien.

Milles mercis pour ton aide !!!

On 5 jan, 18:28, Ellimac
Bonjour,

Le code suivant doit convenir, il affiche les feuilles ne contanant aucun
des mots de A1 à A5 :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n1 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a1"))
    n2 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a2"))
    n3 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a3"))
    n4 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a4"))
    n5 = Application.CountIf(Sheets(cpt).Range("a1:iv65000"),
Sheets(Sheets.Count).Range("a5"))
    n = n1 + n2 + n3 + n4 + n5
    If n = 0 Then Sheets(Sheets.Count).Range("a50000").End(xlUp)(2) =
Sheets(cpt).Name
    Next
End Sub

Camille




Bonjour Camille,

Excuses moi je viens de m'apercevoir que je me suis mal exprimée.

Effectivement il faudrait afficher les feuilles ne contenant aucun des
mots.

Merci pour ton aide

On 5 jan, 12:56, Ellimac
Bonjour,

Je suis parti de ta demande, lister les feuilles ne contenant pas les 5
mots. Ne sont pas affichées les feuilles contenant les 5 mots.
Faut-il afficher plutôt les feuilles ne contenant aucun des mots ?

Camille




Bonsoir Camille,

Merci pour votre réponse mais ça ne fonctionne pas sur mon fichi er. En
effet a chaque fois toute la liste des onglets apparait.

Est ce qu'il faut bien écrire les mot en A1, A2, ..., A5 ?

On 4 jan, 10:42, Ellimac
Bonjour,

Pas forcément le plus simple mais fonctionne :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n1 = Application.CountIf(Sheets(cpt).Range("a1:iv65000") ,
Sheets(Sheets.Count).Range("a1"))
    n2 = Application.CountIf(Sheets(cpt).Range("a1:iv65000") ,
Sheets(Sheets.Count).Range("a2"))
    n3 = Application.CountIf(Sheets(cpt).Range("a1:iv65000") ,
Sheets(Sheets.Count).Range("a3"))
    n4 = Application.CountIf(Sheets(cpt).Range("a1:iv65000") ,
Sheets(Sheets.Count).Range("a4"))
    n5 = Application.CountIf(Sheets(cpt).Range("a1:iv65000") ,
Sheets(Sheets.Count).Range("a5"))
    If n1 > 0 Then n1 = 1
    If n2 > 0 Then n2 = 1
    If n3 > 0 Then n3 = 1
    If n4 > 0 Then n4 = 1
    If n5 > 0 Then n5 = 1
    n = n1 + n2 + n3 + n4 + n5
    If n <> 5 Then Sheets(Sheets.Count).Range("a50000").End(xl Up)(2) =
Sheets(cpt).Name
    Next
End Sub

Camille






Merci beaucou Abded_H avec les * ça marche !!!!

Par contre je voudrais savoir s'il est possible de faire un rech erche
inverse combinée avec plusieur mots :

ex : en A1 le premier mot, en A2 le deuxième mot (et si possib le
jusqu'à 5 mots) et le résultat donnerait la liste des onglet s ne
contenant pas le mot en A1 ni le mot en A2?

On 3 jan, 22:55, AH60
Bonsoir

Y a t'il un moyen d'y remédier?


met le Mot à recherché entre *  *
exemple en A1 tu met  *toto*

Abed_H








Merci beaucoup Camille pour ce début de solution, le seul problème (et
j'ai oublié de le préciser) c'est que le mot n'est pas r econnu quand
il n'est pas tout seul dans la cellule.

Y a t'il un moyen d'y remédier?

On 3 jan, 20:42, Ellimac
Bonjour,

Un début de solution avec le mot recherché en derniè re feuille cellule A1 :

Sub Toto()
    For cpt = 1 To Sheets.Count - 1
    n = Application.CountIf(Sheets(cpt).Range("a1:iv 65000"),
Sheets(Sheets.Count).Range("a1"))
    If n = 0 Then Sheets(Sheets.Count).Range("a50000 ").End(xlUp)(2) =
Sheets(cpt).Name
    Next
End Sub

Camille










Bonsoir à tous !

Une fois de plus, j'ai besoin de votre aide et je vous r emercie
d'avance pour le temps que vous allez peut être me con sacrer.

Voila, en fait j'ai un fichier Excel avec plus d'une cen taine
d'onglets.

Je voudrais pouvoir effectuer une recherche inverse, l'i deal serait
cela :

Sur une nouvelle feuille prévue à cet effet, on insc rirait dans une
cellule un mot et en dessous apparaitrait les noms de to us les onglets
où ce mot NE SERAIT PAS dans la feuille de l'onglet en question.

Et le TOP serait que ca marche en combinant plusieurs mo ts (1 à 5)
dans la recherche (cela donnerait la liste des onglets n e CONTENNANT
PAS LE MOT 1 ni le MOT 2...).

J'espère que cela est faisable car ça me rendrait vr aiment service !

Merci beaucoup- Masquer le texte des messages précéd ents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -











Publicité
Poster une réponse
Anonyme