Bonsoir =E0 tous
Dans la proc=E9dure suivante il y a deux crit=E8re de recherche et je
voudrait =E9liminer le premier
( subd ).
pour que seulement ( pmil ) soit utiliser .
Que dois-je modifier ??
Merci
Sub recherche_PMil()
subd =3D Sheets("GPS").Range("B2")
pmil =3D Sheets("GPS").Range("C2")
Sheets("GPS").Range("D2") =3D cherche(subd, pmil)
ActiveSheet.Protect "cn178174", DrawingObjects:=3DFalse,
Contents:=3DTrue, Scenarios:=3DTrue
End Sub
Public Function cherche(subd, pmil)
derlig =3D Sheets("GPS").Cells.Find("*", [A1], , , xlByRows,
xlPrevious).Row
Set liste =3D Sheets("GPS").Range("G2:G" & derlig)
diff =3D 1000000000#: lig =3D -1: rep =3D 0
T1 =3D Now
For Each celle In liste
Application.StatusBar =3D Format((Now - T1) * 86400, "#")
If celle.Offset(0, -2) =3D subd Then
vale =3D celle.Offset(0, -1): rep =3D rep + 1
If (Abs(vale - pmil)) < diff Then
diff =3D Abs(vale - pmil): lig =3D celle.Row: rep =3D 0
End If
End If
If rep > 10 Then Exit For
Next celle
If lig > -1 Then cherche =3D Intersect(liste, Rows(lig))
Application.StatusBar =3D False
End Function
Sur ce qu'on peut voir, c'est bien trop flou sans voir à quoi cela correspond dans ton classeur, a priori ce code n'utilise pas pmil pour la recherche. C'est subd qui est recherché .pmil semble utilisé dans la restitution.
Cordialemement.
-- LSteph
On 28 juin, 02:37, pellet15 wrote:
Bonsoir à tous Dans la procédure suivante il y a deux critère de recherche et je voudrait éliminer le premier ( subd ). pour que seulement ( pmil ) soit utiliser .
Que dois-je modifier ?? Merci
Sub recherche_PMil() subd = Sheets("GPS").Range("B2") pmil = Sheets("GPS").Range("C2") Sheets("GPS").Range("D2") = cherche(subd, pmil) ActiveSheet.Protect "cn178174", DrawingObjects:úlse, Contents:=True, Scenarios:=True End Sub
Public Function cherche(subd, pmil) derlig = Sheets("GPS").Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row Set liste = Sheets("GPS").Range("G2:G" & derlig) diff = 1000000000#: lig = -1: rep = 0 T1 = Now For Each celle In liste Application.StatusBar = Format((Now - T1) * 86400, "#") If celle.Offset(0, -2) = subd Then vale = celle.Offset(0, -1): rep = rep + 1 If (Abs(vale - pmil)) < diff Then diff = Abs(vale - pmil): lig = celle.Row: rep = 0 End If End If If rep > 10 Then Exit For Next celle If lig > -1 Then cherche = Intersect(liste, Rows(lig)) Application.StatusBar = False End Function
Bonjour,
Sur ce qu'on peut voir, c'est bien trop flou sans voir à quoi cela
correspond dans ton classeur,
a priori ce code n'utilise pas pmil pour la recherche.
C'est subd qui est recherché .pmil semble utilisé dans la restitution.
Cordialemement.
--
LSteph
On 28 juin, 02:37, pellet15 <pelle...@videotron.ca> wrote:
Bonsoir à tous
Dans la procédure suivante il y a deux critère de recherche et je
voudrait éliminer le premier
( subd ).
pour que seulement ( pmil ) soit utiliser .
Que dois-je modifier ??
Merci
Sub recherche_PMil()
subd = Sheets("GPS").Range("B2")
pmil = Sheets("GPS").Range("C2")
Sheets("GPS").Range("D2") = cherche(subd, pmil)
ActiveSheet.Protect "cn178174", DrawingObjects:=False,
Contents:=True, Scenarios:=True
End Sub
Public Function cherche(subd, pmil)
derlig = Sheets("GPS").Cells.Find("*", [A1], , , xlByRows,
xlPrevious).Row
Set liste = Sheets("GPS").Range("G2:G" & derlig)
diff = 1000000000#: lig = -1: rep = 0
T1 = Now
For Each celle In liste
Application.StatusBar = Format((Now - T1) * 86400, "#")
If celle.Offset(0, -2) = subd Then
vale = celle.Offset(0, -1): rep = rep + 1
If (Abs(vale - pmil)) < diff Then
diff = Abs(vale - pmil): lig = celle.Row: rep = 0
End If
End If
If rep > 10 Then Exit For
Next celle
If lig > -1 Then cherche = Intersect(liste, Rows(lig))
Application.StatusBar = False
End Function
Sur ce qu'on peut voir, c'est bien trop flou sans voir à quoi cela correspond dans ton classeur, a priori ce code n'utilise pas pmil pour la recherche. C'est subd qui est recherché .pmil semble utilisé dans la restitution.
Cordialemement.
-- LSteph
On 28 juin, 02:37, pellet15 wrote:
Bonsoir à tous Dans la procédure suivante il y a deux critère de recherche et je voudrait éliminer le premier ( subd ). pour que seulement ( pmil ) soit utiliser .
Que dois-je modifier ?? Merci
Sub recherche_PMil() subd = Sheets("GPS").Range("B2") pmil = Sheets("GPS").Range("C2") Sheets("GPS").Range("D2") = cherche(subd, pmil) ActiveSheet.Protect "cn178174", DrawingObjects:úlse, Contents:=True, Scenarios:=True End Sub
Public Function cherche(subd, pmil) derlig = Sheets("GPS").Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row Set liste = Sheets("GPS").Range("G2:G" & derlig) diff = 1000000000#: lig = -1: rep = 0 T1 = Now For Each celle In liste Application.StatusBar = Format((Now - T1) * 86400, "#") If celle.Offset(0, -2) = subd Then vale = celle.Offset(0, -1): rep = rep + 1 If (Abs(vale - pmil)) < diff Then diff = Abs(vale - pmil): lig = celle.Row: rep = 0 End If End If If rep > 10 Then Exit For Next celle If lig > -1 Then cherche = Intersect(liste, Rows(lig)) Application.StatusBar = False End Function
pellet15
On 28 juin, 06:34, LSteph wrote:
Bonjour,
Sur ce qu'on peut voir, c'est bien trop flou sans voir à quoi cela correspond dans ton classeur, a priori ce code n'utilise pas pmil pour la recherche. C'est subd qui est recherché .pmil semble utilisé dans la restitution .
Cordialemement.
-- LSteph
On 28 juin, 02:37, pellet15 wrote:
> Bonsoir à tous > Dans la procédure suivante il y a deux critère de recherche et je > voudrait éliminer le premier > ( subd ). > pour que seulement ( pmil ) soit utiliser .
> Que dois-je modifier ?? > Merci
> Sub recherche_PMil() > subd = Sheets("GPS").Range("B2") > pmil = Sheets("GPS").Range("C2") > Sheets("GPS").Range("D2") = cherche(subd, pmil) > ActiveSheet.Protect "cn178174", DrawingObjects:úlse, > Contents:=True, Scenarios:=True > End Sub
> Public Function cherche(subd, pmil) > derlig = Sheets("GPS").Cells.Find("*", [A1], , , xlByRows, > xlPrevious).Row > Set liste = Sheets("GPS").Range("G2:G" & derlig) > diff = 1000000000#: lig = -1: rep = 0 > T1 = Now > For Each celle In liste > Application.StatusBar = Format((Now - T1) * 86400, "#") > If celle.Offset(0, -2) = subd Then > vale = celle.Offset(0, -1): rep = rep + 1 > If (Abs(vale - pmil)) < diff Then > diff = Abs(vale - pmil): lig = celle.Row: rep = 0 > End If > End If > If rep > 10 Then Exit For > Next celle > If lig > -1 Then cherche = Intersect(liste, Rows(lig)) > Application.StatusBar = False > End Function- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour LSteph
Lorsque j'inscrie la Subd en B2 et pmil en C2 j'obtien Long/lat en D2.
je voudrait plus utiliser la Subd critere B2 inscrire pmil en C2 et apres exécution avoir la réponce en D2........
Le tableau est comme celui la : Subd pmil long/lat Col.B2------- C2---------------D2-------- Butler 0,02 ???????????????
col. E--------------F-----------------------G Ligne 2 Butler 0,01 N45.48756 W73.54134 Ligne 3 Butler 0,01 N45.48754 W73.54139 Ligne 4 Butler 0,01 N45.48752 W73.54144 Ligne 5 Butler 0,02 N45.48750 W73.54150 Ligne 6 Butler 0,02 N45.48747 W73.54155 Ligne 7 Butler 0,02 N45.48745 W73.54160 Ligne 8 Butler 0,03 N45.48743 W73.54164 Ligne 9 Butler 0,03 N45.48740 W73.54169 Ligne 10 Butler 0,03 N45.48738 W73.54173 Ligne 11 Butler 0,03 N45.48736 W73.54177 ect jusqua la ligne 5184
On 28 juin, 06:34, LSteph <gmlst...@gmail.com> wrote:
Bonjour,
Sur ce qu'on peut voir, c'est bien trop flou sans voir à quoi cela
correspond dans ton classeur,
a priori ce code n'utilise pas pmil pour la recherche.
C'est subd qui est recherché .pmil semble utilisé dans la restitution .
Cordialemement.
--
LSteph
On 28 juin, 02:37, pellet15 <pelle...@videotron.ca> wrote:
> Bonsoir à tous
> Dans la procédure suivante il y a deux critère de recherche et je
> voudrait éliminer le premier
> ( subd ).
> pour que seulement ( pmil ) soit utiliser .
> Que dois-je modifier ??
> Merci
> Sub recherche_PMil()
> subd = Sheets("GPS").Range("B2")
> pmil = Sheets("GPS").Range("C2")
> Sheets("GPS").Range("D2") = cherche(subd, pmil)
> ActiveSheet.Protect "cn178174", DrawingObjects:=False,
> Contents:=True, Scenarios:=True
> End Sub
> Public Function cherche(subd, pmil)
> derlig = Sheets("GPS").Cells.Find("*", [A1], , , xlByRows,
> xlPrevious).Row
> Set liste = Sheets("GPS").Range("G2:G" & derlig)
> diff = 1000000000#: lig = -1: rep = 0
> T1 = Now
> For Each celle In liste
> Application.StatusBar = Format((Now - T1) * 86400, "#")
> If celle.Offset(0, -2) = subd Then
> vale = celle.Offset(0, -1): rep = rep + 1
> If (Abs(vale - pmil)) < diff Then
> diff = Abs(vale - pmil): lig = celle.Row: rep = 0
> End If
> End If
> If rep > 10 Then Exit For
> Next celle
> If lig > -1 Then cherche = Intersect(liste, Rows(lig))
> Application.StatusBar = False
> End Function- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour LSteph
Lorsque j'inscrie la Subd en B2 et pmil en C2 j'obtien Long/lat en
D2.
je voudrait plus utiliser la Subd critere B2
inscrire pmil en C2 et apres exécution avoir la réponce en D2........
Le tableau est comme celui la :
Subd pmil long/lat
Col.B2------- C2---------------D2--------
Butler 0,02 ???????????????
col. E--------------F-----------------------G
Ligne 2 Butler 0,01 N45.48756 W73.54134
Ligne 3 Butler 0,01 N45.48754 W73.54139
Ligne 4 Butler 0,01 N45.48752 W73.54144
Ligne 5 Butler 0,02 N45.48750 W73.54150
Ligne 6 Butler 0,02 N45.48747 W73.54155
Ligne 7 Butler 0,02 N45.48745 W73.54160
Ligne 8 Butler 0,03 N45.48743 W73.54164
Ligne 9 Butler 0,03 N45.48740 W73.54169
Ligne 10 Butler 0,03 N45.48738 W73.54173
Ligne 11 Butler 0,03 N45.48736 W73.54177
ect jusqua la ligne 5184
Sur ce qu'on peut voir, c'est bien trop flou sans voir à quoi cela correspond dans ton classeur, a priori ce code n'utilise pas pmil pour la recherche. C'est subd qui est recherché .pmil semble utilisé dans la restitution .
Cordialemement.
-- LSteph
On 28 juin, 02:37, pellet15 wrote:
> Bonsoir à tous > Dans la procédure suivante il y a deux critère de recherche et je > voudrait éliminer le premier > ( subd ). > pour que seulement ( pmil ) soit utiliser .
> Que dois-je modifier ?? > Merci
> Sub recherche_PMil() > subd = Sheets("GPS").Range("B2") > pmil = Sheets("GPS").Range("C2") > Sheets("GPS").Range("D2") = cherche(subd, pmil) > ActiveSheet.Protect "cn178174", DrawingObjects:úlse, > Contents:=True, Scenarios:=True > End Sub
> Public Function cherche(subd, pmil) > derlig = Sheets("GPS").Cells.Find("*", [A1], , , xlByRows, > xlPrevious).Row > Set liste = Sheets("GPS").Range("G2:G" & derlig) > diff = 1000000000#: lig = -1: rep = 0 > T1 = Now > For Each celle In liste > Application.StatusBar = Format((Now - T1) * 86400, "#") > If celle.Offset(0, -2) = subd Then > vale = celle.Offset(0, -1): rep = rep + 1 > If (Abs(vale - pmil)) < diff Then > diff = Abs(vale - pmil): lig = celle.Row: rep = 0 > End If > End If > If rep > 10 Then Exit For > Next celle > If lig > -1 Then cherche = Intersect(liste, Rows(lig)) > Application.StatusBar = False > End Function- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour LSteph
Lorsque j'inscrie la Subd en B2 et pmil en C2 j'obtien Long/lat en D2.
je voudrait plus utiliser la Subd critere B2 inscrire pmil en C2 et apres exécution avoir la réponce en D2........
Le tableau est comme celui la : Subd pmil long/lat Col.B2------- C2---------------D2-------- Butler 0,02 ???????????????
col. E--------------F-----------------------G Ligne 2 Butler 0,01 N45.48756 W73.54134 Ligne 3 Butler 0,01 N45.48754 W73.54139 Ligne 4 Butler 0,01 N45.48752 W73.54144 Ligne 5 Butler 0,02 N45.48750 W73.54150 Ligne 6 Butler 0,02 N45.48747 W73.54155 Ligne 7 Butler 0,02 N45.48745 W73.54160 Ligne 8 Butler 0,03 N45.48743 W73.54164 Ligne 9 Butler 0,03 N45.48740 W73.54169 Ligne 10 Butler 0,03 N45.48738 W73.54173 Ligne 11 Butler 0,03 N45.48736 W73.54177 ect jusqua la ligne 5184