Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro recherche d'une valeur

5 réponses
Avatar
coffee
Bonjour,
j'utilise la macro suivante pour rechercher une valeur dans une plage donnée.

valtest = InputBox("entrer le N° d'OE4, OE6 ou N° de l'offre à rechercher")

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Par contre celà ne me donne que la première valeur trouvée alors que le
voudrais avoir toutes les lignes portant cette même valeur.
Pourriez vous m'aider ?
Merci d'avance.
coffee

5 réponses

Avatar
Chenille
Salut
Pour te mètre sur la voie….

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub --------- la tu sorts de ta sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Fais un essai avec…..

Compteur=0

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Compteur=Compteur+1
Application.EnableEvents = True
End If
Next

If comteur = 0 then
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End If

End Sub





Bonjour,
j'utilise la macro suivante pour rechercher une valeur dans une plage donnée.

valtest = InputBox("entrer le N° d'OE4, OE6 ou N° de l'offre à rechercher")

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Par contre celà ne me donne que la première valeur trouvée alors que le
voudrais avoir toutes les lignes portant cette même valeur.
Pourriez vous m'aider ?
Merci d'avance.
coffee


Avatar
coffee
Merci, mais ...j'ai essayé et une fois la macro lancée celle ci passe en
revue toutes les 1500 lignes avant même que je mette mon choix et ceci sans
jamais s'arrêter: donc : gestionnaire de programme et arrêt de l'application
obligatoire !



Salut
Pour te mètre sur la voie….

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub --------- la tu sorts de ta sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Fais un essai avec…..

Compteur=0

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Compteur=Compteur+1
Application.EnableEvents = True
End If
Next

If comteur = 0 then
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End If

End Sub





Bonjour,
j'utilise la macro suivante pour rechercher une valeur dans une plage donnée.

valtest = InputBox("entrer le N° d'OE4, OE6 ou N° de l'offre à rechercher")

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Par contre celà ne me donne que la première valeur trouvée alors que le
voudrais avoir toutes les lignes portant cette même valeur.
Pourriez vous m'aider ?
Merci d'avance.
coffee




Avatar
Jac
Bonjour coffee,

est-ce qu'un filtre automatique qui afficherait toutes les lignes contenant
ta variable pour te convenir ?

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

Bonjour,
j'utilise la macro suivante pour rechercher une valeur dans une plage
donnée.

valtest = InputBox("entrer le N° d'OE4, OE6 ou N° de l'offre à
rechercher")

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Par contre celà ne me donne que la première valeur trouvée alors que le
voudrais avoir toutes les lignes portant cette même valeur.
Pourriez vous m'aider ?
Merci d'avance.
coffee


Avatar
Corto
Bonjour coffee,

valtest = InputBox("entrer le N° d'OE4, OE6 ou N° de l'offr e à rechercher")

Set XZONE = Nothing
For Each C In [A1:o1500]
If C Like valtest Then
if XZONE is nothing then
set XZONE = C
else
set XZONE = union(XZONE, C)
endif
End If
Next
if XZONE is nothing then
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
else
XZONE.select
endif

Corto

Bonjour,
j'utilise la macro suivante pour rechercher une valeur dans une plage d onnée.

valtest = InputBox("entrer le N° d'OE4, OE6 ou N° de l'of fre à rechercher")

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Par contre celà ne me donne que la première valeur trouvé e alors que le
voudrais avoir toutes les lignes portant cette même valeur.
Pourriez vous m'aider ?
Merci d'avance.
coffee



Avatar
Pounet95
Bonsoir,

Est-ce qu'un appui simultané sur CTRL et Pause n'arrêterait pas la macro
????
évitant ainsi l'usage du gestionnaire de programme et la perte des
éventuelles modifs.

Pounet95

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

Merci, mais ...j'ai essayé et une fois la macro lancée celle ci passe en
revue toutes les 1500 lignes avant même que je mette mon choix et ceci
sans
jamais s'arrêter: donc : gestionnaire de programme et arrêt de
l'application
obligatoire !



Salut
Pour te mètre sur la voie..

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub ---------? la tu sorts de ta sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Fais un essai avec...

Compteur=0

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Compteur=Compteur+1
Application.EnableEvents = True
End If
Next

If comteur = 0 then
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End If

End Sub





Bonjour,
j'utilise la macro suivante pour rechercher une valeur dans une plage
donnée.

valtest = InputBox("entrer le N° d'OE4, OE6 ou N° de l'offre à
rechercher")

For Each C In [A1:o1500]
If C Like valtest Then
C.Select
Application.EnableEvents = True
Exit Sub
End If
Next
MsgBox "Pas d'OE N°" & valtest & " dans la plage testée !"
Call cherche_OE
Application.EnableEvents = True
End Sub


Par contre celà ne me donne que la première valeur trouvée alors que
le
voudrais avoir toutes les lignes portant cette même valeur.
Pourriez vous m'aider ?
Merci d'avance.
coffee