OVH Cloud OVH Cloud

fonction recherche: excel2000 vs excel2003

9 réponses
Avatar
bezo
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis. Le problème
c'est que là où je travaille, c'est la version 2000 d'excel et celle-ci ne
posséde pas dans sa fonction recherche(Ctrl+F11) le choix de regarder dans
le classeur mais seulement dans une feuille. Ce petit détaille me pose un
gros problème puisqu'il m'arrive de devoir chercher un article dont je ne
posséde que son numéro de nomenclature parmi des centaines par feuille et
ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu de notion
dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe un moyen de
récupérer le module de recherche d'excel 2003 pour pouvoir l'intégrer à
excel 2000 où alors de faire une version simplifiée en incluant bien sûr une
recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette fonction de
recherche sous2003 pour mon apprentissage?
merci d'avance.

9 réponses

Avatar
docm
Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les feuilles du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis. Le problème
c'est que là où je travaille, c'est la version 2000 d'excel et celle-ci ne
posséde pas dans sa fonction recherche(Ctrl+F11) le choix de regarder dans
le classeur mais seulement dans une feuille. Ce petit détaille me pose un
gros problème puisqu'il m'arrive de devoir chercher un article dont je ne
posséde que son numéro de nomenclature parmi des centaines par feuille et
ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu de notion
dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe un moyen de
récupérer le module de recherche d'excel 2003 pour pouvoir l'intégrer à
excel 2000 où alors de faire une version simplifiée en incluant bien sûr
une

recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette fonction de
recherche sous2003 pour mon apprentissage?
merci d'avance.




Avatar
bezo
merci pour ton aide docm, cela va m'être d'un grand secours.

Et pour la fonction recherche sous 2003, quelqu'un à une idée où je pourrait
la trouver pour pouvoir l'étudier?
merci.


"docm" a écrit dans le message de news:
O%
Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les feuilles du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis. Le
problème
c'est que là où je travaille, c'est la version 2000 d'excel et celle-ci
ne
posséde pas dans sa fonction recherche(Ctrl+F11) le choix de regarder
dans
le classeur mais seulement dans une feuille. Ce petit détaille me pose un
gros problème puisqu'il m'arrive de devoir chercher un article dont je ne
posséde que son numéro de nomenclature parmi des centaines par feuille
et
ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu de
notion
dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe un moyen
de
récupérer le module de recherche d'excel 2003 pour pouvoir l'intégrer à
excel 2000 où alors de faire une version simplifiée en incluant bien sûr
une

recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette fonction de
recherche sous2003 pour mon apprentissage?
merci d'avance.








Avatar
bezo
bon, je vien d'essayer ces 2 macros et je dois dire que je nage dans le flou
total ! désolé pour mon ignorance mais ça marche comment ? si je dit cela
c'est que pour moi, les seules macros que j'ai déjà utilisées étaient
affectées à un objet et là, en fin de compte je ne sais pas par où commencer.
comment faire pour créer un case où j'introduirai le numéro recherché et y
affecter une de ces 2 macros? doit-on faire un userform?
Pour le userform(à savoir que je n'en est jamais fait) y-a-t'il un moyen de
recuperer celui d'excel2003 pour ma compréhension afin de pouvoir le refaire
si possible ?
merci encore

bezo


Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les feuilles du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis. Le problème
c'est que là où je travaille, c'est la version 2000 d'excel et celle-ci ne
posséde pas dans sa fonction recherche(Ctrl+F11) le choix de regarder dans
le classeur mais seulement dans une feuille. Ce petit détaille me pose un
gros problème puisqu'il m'arrive de devoir chercher un article dont je ne
posséde que son numéro de nomenclature parmi des centaines par feuille et
ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu de notion
dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe un moyen de
récupérer le module de recherche d'excel 2003 pour pouvoir l'intégrer à
excel 2000 où alors de faire une version simplifiée en incluant bien sûr
une

recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette fonction de
recherche sous2003 pour mon apprentissage?
merci d'avance.









Avatar
docm
'Debut de la copie------------------------
Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub
'Fin de la copie------------------------

1. Sélectionne les 2 macros ci-dessus et Copie-les.
2. Dans Excel, ouvre ton classeur, puis pèse sur les touches ALT-F11 ( pour
accéder à Visual Basic)
3. Dans la fenêtre de Visual Basic, sélectionne le menu Insertion/Module
(pour créer un nouveau module standard Visual Basic)
4. Sélectionne le menu Édition/Coller ( pour coller les 2 macros dans ce
module)
5. Pèse sur ALT-F11 pour revenir à ton tableau Excel.
6. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la liste
des macros disponibles)
7. Double-clic sur la macro ChercherDansClasseur_NouvelleRecherche.
8. Entre la valeur que tu veux rechercher. Clique sur OK. Si la valeur
existe dans ton classeur, elle sera sélectionnée et affichée.
9. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la liste
des macros disponibles)
10. Double-clic sur la macro ChercherDansClasseur_ProchaineOccurence (pour
trouver la prochaine occurence de ta valeur, en commençant cette nouvelle
recherche sur la feuille suivante). Si tu veux trouver la prochaine
occurence de ta valeur sur la même feuille, utilise la fonction de recherche
standard de Excel, c'est-à-dire le menu Édition/Rechercher/Suivant.

Amicalement

docm



"bezo" wrote in message
news:
bon, je vien d'essayer ces 2 macros et je dois dire que je nage dans le
flou

total ! désolé pour mon ignorance mais ça marche comment ? si je dit cela
c'est que pour moi, les seules macros que j'ai déjà utilisées étaient
affectées à un objet et là, en fin de compte je ne sais pas par où
commencer.

comment faire pour créer un case où j'introduirai le numéro recherché et y
affecter une de ces 2 macros? doit-on faire un userform?
Pour le userform(à savoir que je n'en est jamais fait) y-a-t'il un moyen
de

recuperer celui d'excel2003 pour ma compréhension afin de pouvoir le
refaire

si possible ?
merci encore

bezo


Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les feuilles du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis. Le
problème



c'est que là où je travaille, c'est la version 2000 d'excel et
celle-ci ne



posséde pas dans sa fonction recherche(Ctrl+F11) le choix de regarder
dans



le classeur mais seulement dans une feuille. Ce petit détaille me pose
un



gros problème puisqu'il m'arrive de devoir chercher un article dont je
ne



posséde que son numéro de nomenclature parmi des centaines par
feuille et



ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu de
notion



dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe un
moyen de



récupérer le module de recherche d'excel 2003 pour pouvoir l'intégrer
à



excel 2000 où alors de faire une version simplifiée en incluant bien
sûr



une
recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette fonction de
recherche sous2003 pour mon apprentissage?
merci d'avance.











Avatar
bezo
merci et encore merci, il ne me reste plus qu'à décortiquer ces 2 macros
pour voir leur fonctionnement.

bezo

"docm" a écrit dans le message de news:
%
'Debut de la copie------------------------
Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub
'Fin de la copie------------------------

1. Sélectionne les 2 macros ci-dessus et Copie-les.
2. Dans Excel, ouvre ton classeur, puis pèse sur les touches ALT-F11 (
pour
accéder à Visual Basic)
3. Dans la fenêtre de Visual Basic, sélectionne le menu Insertion/Module
(pour créer un nouveau module standard Visual Basic)
4. Sélectionne le menu Édition/Coller ( pour coller les 2 macros dans ce
module)
5. Pèse sur ALT-F11 pour revenir à ton tableau Excel.
6. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la
liste
des macros disponibles)
7. Double-clic sur la macro ChercherDansClasseur_NouvelleRecherche.
8. Entre la valeur que tu veux rechercher. Clique sur OK. Si la valeur
existe dans ton classeur, elle sera sélectionnée et affichée.
9. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la
liste
des macros disponibles)
10. Double-clic sur la macro ChercherDansClasseur_ProchaineOccurence (pour
trouver la prochaine occurence de ta valeur, en commençant cette nouvelle
recherche sur la feuille suivante). Si tu veux trouver la prochaine
occurence de ta valeur sur la même feuille, utilise la fonction de
recherche
standard de Excel, c'est-à-dire le menu Édition/Rechercher/Suivant.

Amicalement

docm



"bezo" wrote in message
news:
bon, je vien d'essayer ces 2 macros et je dois dire que je nage dans le
flou

total ! désolé pour mon ignorance mais ça marche comment ? si je dit cela
c'est que pour moi, les seules macros que j'ai déjà utilisées étaient
affectées à un objet et là, en fin de compte je ne sais pas par où
commencer.

comment faire pour créer un case où j'introduirai le numéro recherché et
y
affecter une de ces 2 macros? doit-on faire un userform?
Pour le userform(à savoir que je n'en est jamais fait) y-a-t'il un moyen
de

recuperer celui d'excel2003 pour ma compréhension afin de pouvoir le
refaire

si possible ?
merci encore

bezo


Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les feuilles du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis. Le
problème



c'est que là où je travaille, c'est la version 2000 d'excel et
celle-ci ne



posséde pas dans sa fonction recherche(Ctrl+F11) le choix de regarder
dans



le classeur mais seulement dans une feuille. Ce petit détaille me
pose
un



gros problème puisqu'il m'arrive de devoir chercher un article dont
je
ne



posséde que son numéro de nomenclature parmi des centaines par
feuille et



ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu de
notion



dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe un
moyen de



récupérer le module de recherche d'excel 2003 pour pouvoir l'intégrer
à



excel 2000 où alors de faire une version simplifiée en incluant bien
sûr



une
recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette fonction
de
recherche sous2003 pour mon apprentissage?
merci d'avance.















Avatar
docm
Je t'en propose une variante qui permet la recherche de la valeur suivante,
que celle-ci soit sur la même feuille ou sur une autre feuille.

La voici :

Dim PremiereAdresse

Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set plage = Cells.Find(MaValeur)

If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

Set plage = Cells.FindNext(ActiveCell)
If Not plage Is Nothing Then

If PremiereAdresse = "" Then
PremiereAdresse = plage.Address
plage.Select
Exit Sub
Else
If PremiereAdresse <> plage.Address Then

plage.Select
Exit Sub
End If
End If
End If

PremiereAdresse = ""
myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set plage = Cells.FindNext(after:Îlls(Cells.Count))
If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set plage = Cells.FindNext(after:Îlls(Cells.Count))
If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

docm


"bezo" wrote in message
news:##
merci et encore merci, il ne me reste plus qu'à décortiquer ces 2 macros
pour voir leur fonctionnement.

bezo

"docm" a écrit dans le message de news:
%
'Debut de la copie------------------------
Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub
'Fin de la copie------------------------

1. Sélectionne les 2 macros ci-dessus et Copie-les.
2. Dans Excel, ouvre ton classeur, puis pèse sur les touches ALT-F11 (
pour
accéder à Visual Basic)
3. Dans la fenêtre de Visual Basic, sélectionne le menu Insertion/Module
(pour créer un nouveau module standard Visual Basic)
4. Sélectionne le menu Édition/Coller ( pour coller les 2 macros dans ce
module)
5. Pèse sur ALT-F11 pour revenir à ton tableau Excel.
6. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la
liste
des macros disponibles)
7. Double-clic sur la macro ChercherDansClasseur_NouvelleRecherche.
8. Entre la valeur que tu veux rechercher. Clique sur OK. Si la valeur
existe dans ton classeur, elle sera sélectionnée et affichée.
9. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la
liste
des macros disponibles)
10. Double-clic sur la macro ChercherDansClasseur_ProchaineOccurence
(pour


trouver la prochaine occurence de ta valeur, en commençant cette
nouvelle


recherche sur la feuille suivante). Si tu veux trouver la prochaine
occurence de ta valeur sur la même feuille, utilise la fonction de
recherche
standard de Excel, c'est-à-dire le menu Édition/Rechercher/Suivant.

Amicalement

docm



"bezo" wrote in message
news:
bon, je vien d'essayer ces 2 macros et je dois dire que je nage dans le
flou

total ! désolé pour mon ignorance mais ça marche comment ? si je dit
cela



c'est que pour moi, les seules macros que j'ai déjà utilisées étaient
affectées à un objet et là, en fin de compte je ne sais pas par où
commencer.

comment faire pour créer un case où j'introduirai le numéro recherché
et



y
affecter une de ces 2 macros? doit-on faire un userform?
Pour le userform(à savoir que je n'en est jamais fait) y-a-t'il un
moyen



de
recuperer celui d'excel2003 pour ma compréhension afin de pouvoir le
refaire

si possible ?
merci encore

bezo


Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les feuilles du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis. Le
problème



c'est que là où je travaille, c'est la version 2000 d'excel et
celle-ci ne



posséde pas dans sa fonction recherche(Ctrl+F11) le choix de
regarder





dans
le classeur mais seulement dans une feuille. Ce petit détaille me
pose
un



gros problème puisqu'il m'arrive de devoir chercher un article dont
je
ne



posséde que son numéro de nomenclature parmi des centaines par
feuille et



ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu de
notion



dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe un
moyen de



récupérer le module de recherche d'excel 2003 pour pouvoir
l'intégrer





à
excel 2000 où alors de faire une version simplifiée en incluant
bien





sûr
une
recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette fonction
de
recherche sous2003 pour mon apprentissage?
merci d'avance.



















Avatar
bezo
merci pour cette variante mais peut tu me dires quelle est la différence
avec la macro que tu m'a donnée auparavant, car j'ai testé les deux pour le
même résultat !


"docm" a écrit dans le message de news:
Oy8s$
Je t'en propose une variante qui permet la recherche de la valeur
suivante,
que celle-ci soit sur la même feuille ou sur une autre feuille.

La voici :

Dim PremiereAdresse

Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set plage = Cells.Find(MaValeur)

If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

Set plage = Cells.FindNext(ActiveCell)
If Not plage Is Nothing Then

If PremiereAdresse = "" Then
PremiereAdresse = plage.Address
plage.Select
Exit Sub
Else
If PremiereAdresse <> plage.Address Then

plage.Select
Exit Sub
End If
End If
End If

PremiereAdresse = ""
myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set plage = Cells.FindNext(after:Îlls(Cells.Count))
If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set plage = Cells.FindNext(after:Îlls(Cells.Count))
If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

docm


"bezo" wrote in message
news:##
merci et encore merci, il ne me reste plus qu'à décortiquer ces 2 macros
pour voir leur fonctionnement.

bezo

"docm" a écrit dans le message de news:
%
'Debut de la copie------------------------
Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub
'Fin de la copie------------------------

1. Sélectionne les 2 macros ci-dessus et Copie-les.
2. Dans Excel, ouvre ton classeur, puis pèse sur les touches ALT-F11 (
pour
accéder à Visual Basic)
3. Dans la fenêtre de Visual Basic, sélectionne le menu
Insertion/Module
(pour créer un nouveau module standard Visual Basic)
4. Sélectionne le menu Édition/Coller ( pour coller les 2 macros dans
ce
module)
5. Pèse sur ALT-F11 pour revenir à ton tableau Excel.
6. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la
liste
des macros disponibles)
7. Double-clic sur la macro ChercherDansClasseur_NouvelleRecherche.
8. Entre la valeur que tu veux rechercher. Clique sur OK. Si la valeur
existe dans ton classeur, elle sera sélectionnée et affichée.
9. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la
liste
des macros disponibles)
10. Double-clic sur la macro ChercherDansClasseur_ProchaineOccurence
(pour


trouver la prochaine occurence de ta valeur, en commençant cette
nouvelle


recherche sur la feuille suivante). Si tu veux trouver la prochaine
occurence de ta valeur sur la même feuille, utilise la fonction de
recherche
standard de Excel, c'est-à-dire le menu Édition/Rechercher/Suivant.

Amicalement

docm



"bezo" wrote in message
news:
bon, je vien d'essayer ces 2 macros et je dois dire que je nage dans
le
flou

total ! désolé pour mon ignorance mais ça marche comment ? si je dit
cela



c'est que pour moi, les seules macros que j'ai déjà utilisées étaient
affectées à un objet et là, en fin de compte je ne sais pas par où
commencer.

comment faire pour créer un case où j'introduirai le numéro recherché
et



y
affecter une de ces 2 macros? doit-on faire un userform?
Pour le userform(à savoir que je n'en est jamais fait) y-a-t'il un
moyen



de
recuperer celui d'excel2003 pour ma compréhension afin de pouvoir le
refaire

si possible ?
merci encore

bezo


Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les feuilles
du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis. Le
problème



c'est que là où je travaille, c'est la version 2000 d'excel et
celle-ci ne



posséde pas dans sa fonction recherche(Ctrl+F11) le choix de
regarder





dans
le classeur mais seulement dans une feuille. Ce petit détaille me
pose
un



gros problème puisqu'il m'arrive de devoir chercher un article
dont
je
ne



posséde que son numéro de nomenclature parmi des centaines par
feuille et



ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu
de
notion



dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe un
moyen de



récupérer le module de recherche d'excel 2003 pour pouvoir
l'intégrer





à
excel 2000 où alors de faire une version simplifiée en incluant
bien





sûr
une
recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette
fonction
de
recherche sous2003 pour mon apprentissage?
merci d'avance.























Avatar
docm
S'il y a plus d'une fois la valeur recherchée sur la même feuille, la
première variante ne trouve qu'une seule occurence puis passe à la feuille
suivante pour effectuer sa recherche recherche.

Aussi, s'il y a 2 occurences ou plus de la valeur recherchée sur la même
feuille, dont l'une des occurences dans la cellule A1, ce n'est pas celle
qui est en A1 qui sera trouvée avec la première variante. La seconde
variante règle ce problème et trouve la valeur en A1 en premier.


"bezo" wrote in message
news:
merci pour cette variante mais peut tu me dires quelle est la différence
avec la macro que tu m'a donnée auparavant, car j'ai testé les deux pour
le

même résultat !


"docm" a écrit dans le message de news:
Oy8s$
Je t'en propose une variante qui permet la recherche de la valeur
suivante,
que celle-ci soit sur la même feuille ou sur une autre feuille.

La voici :

Dim PremiereAdresse

Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set plage = Cells.Find(MaValeur)

If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

Set plage = Cells.FindNext(ActiveCell)
If Not plage Is Nothing Then

If PremiereAdresse = "" Then
PremiereAdresse = plage.Address
plage.Select
Exit Sub
Else
If PremiereAdresse <> plage.Address Then

plage.Select
Exit Sub
End If
End If
End If

PremiereAdresse = ""
myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set plage = Cells.FindNext(after:Îlls(Cells.Count))
If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set plage = Cells.FindNext(after:Îlls(Cells.Count))
If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

docm


"bezo" wrote in message
news:##
merci et encore merci, il ne me reste plus qu'à décortiquer ces 2
macros



pour voir leur fonctionnement.

bezo

"docm" a écrit dans le message de news:
%
'Debut de la copie------------------------
Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub
'Fin de la copie------------------------

1. Sélectionne les 2 macros ci-dessus et Copie-les.
2. Dans Excel, ouvre ton classeur, puis pèse sur les touches ALT-F11
(




pour
accéder à Visual Basic)
3. Dans la fenêtre de Visual Basic, sélectionne le menu
Insertion/Module
(pour créer un nouveau module standard Visual Basic)
4. Sélectionne le menu Édition/Coller ( pour coller les 2 macros dans
ce
module)
5. Pèse sur ALT-F11 pour revenir à ton tableau Excel.
6. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la
liste
des macros disponibles)
7. Double-clic sur la macro ChercherDansClasseur_NouvelleRecherche.
8. Entre la valeur que tu veux rechercher. Clique sur OK. Si la
valeur




existe dans ton classeur, elle sera sélectionnée et affichée.
9. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître la
liste
des macros disponibles)
10. Double-clic sur la macro ChercherDansClasseur_ProchaineOccurence
(pour


trouver la prochaine occurence de ta valeur, en commençant cette
nouvelle


recherche sur la feuille suivante). Si tu veux trouver la prochaine
occurence de ta valeur sur la même feuille, utilise la fonction de
recherche
standard de Excel, c'est-à-dire le menu Édition/Rechercher/Suivant.

Amicalement

docm



"bezo" wrote in message
news:
bon, je vien d'essayer ces 2 macros et je dois dire que je nage dans
le
flou

total ! désolé pour mon ignorance mais ça marche comment ? si je dit
cela



c'est que pour moi, les seules macros que j'ai déjà utilisées
étaient





affectées à un objet et là, en fin de compte je ne sais pas par où
commencer.

comment faire pour créer un case où j'introduirai le numéro
recherché





et
y
affecter une de ces 2 macros? doit-on faire un userform?
Pour le userform(à savoir que je n'en est jamais fait) y-a-t'il un
moyen



de
recuperer celui d'excel2003 pour ma compréhension afin de pouvoir le
refaire

si possible ?
merci encore

bezo


Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les feuilles
du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis.
Le







problème
c'est que là où je travaille, c'est la version 2000 d'excel et
celle-ci ne



posséde pas dans sa fonction recherche(Ctrl+F11) le choix de
regarder





dans
le classeur mais seulement dans une feuille. Ce petit détaille
me







pose
un



gros problème puisqu'il m'arrive de devoir chercher un article
dont
je
ne



posséde que son numéro de nomenclature parmi des centaines par
feuille et



ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés peu
de
notion



dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe
un







moyen de
récupérer le module de recherche d'excel 2003 pour pouvoir
l'intégrer





à
excel 2000 où alors de faire une version simplifiée en incluant
bien





sûr
une
recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette
fonction
de
recherche sous2003 pour mon apprentissage?
merci d'avance.



























Avatar
bezo
merci à toi pour ces explications.

bezo

"docm" a écrit dans le message de news:

S'il y a plus d'une fois la valeur recherchée sur la même feuille, la
première variante ne trouve qu'une seule occurence puis passe à la feuille
suivante pour effectuer sa recherche recherche.

Aussi, s'il y a 2 occurences ou plus de la valeur recherchée sur la même
feuille, dont l'une des occurences dans la cellule A1, ce n'est pas celle
qui est en A1 qui sera trouvée avec la première variante. La seconde
variante règle ce problème et trouve la valeur en A1 en premier.


"bezo" wrote in message
news:
merci pour cette variante mais peut tu me dires quelle est la différence
avec la macro que tu m'a donnée auparavant, car j'ai testé les deux pour
le

même résultat !


"docm" a écrit dans le message de news:
Oy8s$
Je t'en propose une variante qui permet la recherche de la valeur
suivante,
que celle-ci soit sur la même feuille ou sur une autre feuille.

La voici :

Dim PremiereAdresse

Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set plage = Cells.Find(MaValeur)

If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

Set plage = Cells.FindNext(ActiveCell)
If Not plage Is Nothing Then

If PremiereAdresse = "" Then
PremiereAdresse = plage.Address
plage.Select
Exit Sub
Else
If PremiereAdresse <> plage.Address Then

plage.Select
Exit Sub
End If
End If
End If

PremiereAdresse = ""
myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set plage = Cells.FindNext(after:Îlls(Cells.Count))
If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set plage = Cells.FindNext(after:Îlls(Cells.Count))
If Not plage Is Nothing Then
plage.Select
PremiereAdresse = plage.Address
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

docm


"bezo" wrote in message
news:##
merci et encore merci, il ne me reste plus qu'à décortiquer ces 2
macros



pour voir leur fonctionnement.

bezo

"docm" a écrit dans le message de news:
%
'Debut de la copie------------------------
Sub ChercherDansClasseur_NouvelleRecherche()

MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherDansClasseur_ProchaineOccurence

End If

End Sub

Sub ChercherDansClasseur_ProchaineOccurence()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub
'Fin de la copie------------------------

1. Sélectionne les 2 macros ci-dessus et Copie-les.
2. Dans Excel, ouvre ton classeur, puis pèse sur les touches ALT-F11
(




pour
accéder à Visual Basic)
3. Dans la fenêtre de Visual Basic, sélectionne le menu
Insertion/Module
(pour créer un nouveau module standard Visual Basic)
4. Sélectionne le menu Édition/Coller ( pour coller les 2 macros
dans
ce
module)
5. Pèse sur ALT-F11 pour revenir à ton tableau Excel.
6. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître
la
liste
des macros disponibles)
7. Double-clic sur la macro ChercherDansClasseur_NouvelleRecherche.
8. Entre la valeur que tu veux rechercher. Clique sur OK. Si la
valeur




existe dans ton classeur, elle sera sélectionnée et affichée.
9. Sélectionne le menu Outils/Macros/Macros (pour faire apparaître
la
liste
des macros disponibles)
10. Double-clic sur la macro ChercherDansClasseur_ProchaineOccurence
(pour


trouver la prochaine occurence de ta valeur, en commençant cette
nouvelle


recherche sur la feuille suivante). Si tu veux trouver la prochaine
occurence de ta valeur sur la même feuille, utilise la fonction de
recherche
standard de Excel, c'est-à-dire le menu Édition/Rechercher/Suivant.

Amicalement

docm



"bezo" wrote in message
news:
bon, je vien d'essayer ces 2 macros et je dois dire que je nage
dans
le
flou

total ! désolé pour mon ignorance mais ça marche comment ? si je
dit
cela



c'est que pour moi, les seules macros que j'ai déjà utilisées
étaient





affectées à un objet et là, en fin de compte je ne sais pas par où
commencer.

comment faire pour créer un case où j'introduirai le numéro
recherché





et
y
affecter une de ces 2 macros? doit-on faire un userform?
Pour le userform(à savoir que je n'en est jamais fait) y-a-t'il un
moyen



de
recuperer celui d'excel2003 pour ma compréhension afin de pouvoir
le
refaire

si possible ?
merci encore

bezo


Bonjour bezo.

Voilà 2 macros qui permettent la recherche sur toutes les
feuilles
du
classeur.

Sub Chercher()
MaValeur = InputBox("Rechercher :", "Rechercher", "")

Set Plage = Cells.Find(MaValeur)

If Not Plage Is Nothing Then
Plage.Select
Exit Sub
Else

Call ChercherSurLesAutresFeuilles

End If

End Sub

Sub ChercherSurLesAutresFeuilles()

myindex = ActiveSheet.Index

For i = myindex + 1 To Worksheets.Count
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
For i = 1 To myindex
Worksheets(i).Select
Worksheets(i).Range("a1").Select
Set Plage = Cells.FindNext(ActiveCell)
If Not Plage Is Nothing Then
Plage.Select
Exit Sub
End If
Next
MsgBox "Non trouvé."

End Sub

Amicalement

docm


"bezo" wrote in message
news:#
bonjours,
voila, chez moi je posséde la version 2003 donc pas de soucis.
Le







problème
c'est que là où je travaille, c'est la version 2000 d'excel et
celle-ci ne



posséde pas dans sa fonction recherche(Ctrl+F11) le choix de
regarder





dans
le classeur mais seulement dans une feuille. Ce petit détaille
me







pose
un



gros problème puisqu'il m'arrive de devoir chercher un article
dont
je
ne



posséde que son numéro de nomenclature parmi des centaines par
feuille et



ceci dans des dizaines d'onglets.Donc,comme je n'ai que trés
peu
de
notion



dans le domaine VBA, quelqu'un pourrait-il me dire s'il existe
un







moyen de
récupérer le module de recherche d'excel 2003 pour pouvoir
l'intégrer





à
excel 2000 où alors de faire une version simplifiée en incluant
bien





sûr
une
recherche dans les onglets.
D'ailleur, est-il possible de voir comment est faite cette
fonction
de
recherche sous2003 pour mon apprentissage?
merci d'avance.