bonjour PatRednef,
For i = Range("A65536").End(xlUp).Row To Range("A65536").End(xlUp).Row - 3 Step -1
x = Range("A" & i)
Next
--
isabelle
bonjour PatRednef,
For i = Range("A65536").End(xlUp).Row To Range("A65536").End(xlUp).Row - 3 Step -1
x = Range("A" & i)
Next
--
isabelle
bonjour PatRednef,
For i = Range("A65536").End(xlUp).Row To Range("A65536").End(xlUp).Row - 3 Step -1
x = Range("A" & i)
Next
--
isabelle
Bonsoir Isabelle,
Merci pour ta réponse, mais cette boucle (la valeur x) me donne que
les 3 derniers chiffres de la colonne, je cherche le numéro de ligne
des 3 derniers 55000 dans la liste, soit les réponses 11, 9 et 7 qui
sont le numéro des lignes des 3 derniers "55000" dans cette liste
Dans ma boucle, ou par find je cherche:
"trouve moi les 3 dernieres fois ou apparait le code 55000, et donne
moi alors le numéo de chacune de ces lignes, en commencant par la
ligne la plus basse jusqu'à la plus haute, attention, si il n'y a que
un seul code "55000", ne me donner qu'un seul numéro de ligne, ou si
2, alors que deux numéros de ligne
Merci pour votre aide, au plaisir de vous lire
PatRednef
Bonsoir Isabelle,
Merci pour ta réponse, mais cette boucle (la valeur x) me donne que
les 3 derniers chiffres de la colonne, je cherche le numéro de ligne
des 3 derniers 55000 dans la liste, soit les réponses 11, 9 et 7 qui
sont le numéro des lignes des 3 derniers "55000" dans cette liste
Dans ma boucle, ou par find je cherche:
"trouve moi les 3 dernieres fois ou apparait le code 55000, et donne
moi alors le numéo de chacune de ces lignes, en commencant par la
ligne la plus basse jusqu'à la plus haute, attention, si il n'y a que
un seul code "55000", ne me donner qu'un seul numéro de ligne, ou si
2, alors que deux numéros de ligne
Merci pour votre aide, au plaisir de vous lire
PatRednef
Bonsoir Isabelle,
Merci pour ta réponse, mais cette boucle (la valeur x) me donne que
les 3 derniers chiffres de la colonne, je cherche le numéro de ligne
des 3 derniers 55000 dans la liste, soit les réponses 11, 9 et 7 qui
sont le numéro des lignes des 3 derniers "55000" dans cette liste
Dans ma boucle, ou par find je cherche:
"trouve moi les 3 dernieres fois ou apparait le code 55000, et donne
moi alors le numéo de chacune de ces lignes, en commencant par la
ligne la plus basse jusqu'à la plus haute, attention, si il n'y a que
un seul code "55000", ne me donner qu'un seul numéro de ligne, ou si
2, alors que deux numéros de ligne
Merci pour votre aide, au plaisir de vous lire
PatRednef
Si tu préfères la méthode Find...FindNext
'----------------------------------------------
Sub test()
Dim V As Double, A As Integer, T As String
Dim S As Integer, Adr As String
'Tu détermine la valeur recherchée dans la feuille
V = 55000
With Worksheets("Feuil2") 'Nom feuille à adapter
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
S = Application.CountIf(.Cells, V)
Set trouve = .Find(What:=V, LookIn:=xlValues, _
l ookat:=xlWhole)
If Not trouve Is Nothing Then
Adr = trouve.Address
Do
A = A + 1
If A > S - 3 Then
T = trouve.Row & ", " & T
End If
Set trouve = .FindNext(trouve)
Loop Until trouve.Address = Adr
End If
End With
End With
If T <> "" Then
T = Left(T, Len(T) - 2)
MsgBox "Les 3 dernières lignes, s'il y a lieu , " & _
"par odre décroissant : " & T
Else
MsgBox "Rien trouvé."
End If
End Sub
'----------------------------------------------
MichD
------------------------------------------
"MichD" a écrit dans le message de groupe de discussion : j86vo7$pv.
Bonjour,
Une autre approche :
'-------------------------------------------
Sub test()
Dim V As Double, A As Integer
Dim Rg As Range, X As String
'Tu détermine la valeur recherchée dans la feuille
V = 55000
With Worksheets("Feuil2") 'Nom feuille à adapter
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
For A = 1 To 3
X = X & Evaluate("LARGE(IF(" & Rg.Address & "=" & _
V & ",ROW(" & Rg.Address & "))," & A & ")") & ", "
Next
If X <> "" Then
X = Left(X, Len(X) - 2)
MsgBox "Les 3 lignes où on retrouve la valeur """ & V & _
""" par ordre décroissant sont : " & X
Else
MsgBox "La valeur n'a pas été trouvé dans la plage."
End If
End Sub
'-------------------------------------------
MichD
------------------------------------------
"Patrednef" a écrit dans le message de groupe de discussion :
Bonsoir à tous,
je sollicite nos génereux contributeurs ....
Un petit problème que je n'arrive pas à résoudre avec Find et Findn ext
Je sais que find conserve les paramçetres entre les appels.... mais
pas findnext ?
Ce que je cherche à réaliser ce soir:
Titre est en A1
je cherche à faire un fichier txt qui contient les 3 derniers numéros
de lignes d'un code en particulier (On prend comme exemple le 55000)
Dans la colonne A il peut y avoir des dizaines, ou des centaines voir
des milliers de codes (et donc de lignes)
Je cherche à lister dans un fichier Txt les 3 derniers 55000 (en fait
la ligne de ces 3 derniers) de cette liste
Par exemple, ci dessous, il faudrait commencer par la fin de la liste
et lister les lignes:
11
9
7
Comme cela en colonne, ne prenant pas en compte ici le 4ème code 55000
qui se trouve sur la ligne 5
Ce qui correspond aux lignes, 11,9 et 7 ou se trouvent les derniers
55000
titre
20120
20120
20120
55000
20120
55000
22156
55000
11000
55000
22120
Je fais avec Find et findnext, car les boucles me semblent trop
longues si la liste vient à dépasser quelques milliers de codes (enfi n
je pense)
Le paramêtre searchdirection:=xlPrevious fonctionne bien avec Find,
mais ne fonctionne pas, il me semble, avec FindNext
je sais gérer le fichier texe, l'inputbox avec sa gestion d'erreur
pour choisir le "55000" ainsi que la Plage (Plg) ou se trouvent les
données, (Set Plg = .Range("A2", .Range("A2").End(xlDown)))
pouvez-vous me donner le chemin et la forme pour faire cela, le but
étant d'afficher par la suite les 3 dernières factures du client
55000, celles ci étant dans un tableau à colonne, trié par date
croissant (depuis le 01/01 jusqu'à la dernière date disponible)
Je vous remercie vivement de votre coup de main, je reste à l'écoute
de vos suggestions, toujours Excel...lente !!!
Bien à vous,
PatRednef
Si tu préfères la méthode Find...FindNext
'----------------------------------------------
Sub test()
Dim V As Double, A As Integer, T As String
Dim S As Integer, Adr As String
'Tu détermine la valeur recherchée dans la feuille
V = 55000
With Worksheets("Feuil2") 'Nom feuille à adapter
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
S = Application.CountIf(.Cells, V)
Set trouve = .Find(What:=V, LookIn:=xlValues, _
l ookat:=xlWhole)
If Not trouve Is Nothing Then
Adr = trouve.Address
Do
A = A + 1
If A > S - 3 Then
T = trouve.Row & ", " & T
End If
Set trouve = .FindNext(trouve)
Loop Until trouve.Address = Adr
End If
End With
End With
If T <> "" Then
T = Left(T, Len(T) - 2)
MsgBox "Les 3 dernières lignes, s'il y a lieu , " & _
"par odre décroissant : " & T
Else
MsgBox "Rien trouvé."
End If
End Sub
'----------------------------------------------
MichD
------------------------------------------
"MichD" a écrit dans le message de groupe de discussion : j86vo7$pv. ..@speranza.aioe.org...
Bonjour,
Une autre approche :
'-------------------------------------------
Sub test()
Dim V As Double, A As Integer
Dim Rg As Range, X As String
'Tu détermine la valeur recherchée dans la feuille
V = 55000
With Worksheets("Feuil2") 'Nom feuille à adapter
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
For A = 1 To 3
X = X & Evaluate("LARGE(IF(" & Rg.Address & "=" & _
V & ",ROW(" & Rg.Address & "))," & A & ")") & ", "
Next
If X <> "" Then
X = Left(X, Len(X) - 2)
MsgBox "Les 3 lignes où on retrouve la valeur """ & V & _
""" par ordre décroissant sont : " & X
Else
MsgBox "La valeur n'a pas été trouvé dans la plage."
End If
End Sub
'-------------------------------------------
MichD
------------------------------------------
"Patrednef" a écrit dans le message de groupe de discussion :
1c8c444c-3a36-4c7d-9a3a-56e83e21f...@gy7g2000vbb.googlegroups.com...
Bonsoir à tous,
je sollicite nos génereux contributeurs ....
Un petit problème que je n'arrive pas à résoudre avec Find et Findn ext
Je sais que find conserve les paramçetres entre les appels.... mais
pas findnext ?
Ce que je cherche à réaliser ce soir:
Titre est en A1
je cherche à faire un fichier txt qui contient les 3 derniers numéros
de lignes d'un code en particulier (On prend comme exemple le 55000)
Dans la colonne A il peut y avoir des dizaines, ou des centaines voir
des milliers de codes (et donc de lignes)
Je cherche à lister dans un fichier Txt les 3 derniers 55000 (en fait
la ligne de ces 3 derniers) de cette liste
Par exemple, ci dessous, il faudrait commencer par la fin de la liste
et lister les lignes:
11
9
7
Comme cela en colonne, ne prenant pas en compte ici le 4ème code 55000
qui se trouve sur la ligne 5
Ce qui correspond aux lignes, 11,9 et 7 ou se trouvent les derniers
55000
titre
20120
20120
20120
55000
20120
55000
22156
55000
11000
55000
22120
Je fais avec Find et findnext, car les boucles me semblent trop
longues si la liste vient à dépasser quelques milliers de codes (enfi n
je pense)
Le paramêtre searchdirection:=xlPrevious fonctionne bien avec Find,
mais ne fonctionne pas, il me semble, avec FindNext
je sais gérer le fichier texe, l'inputbox avec sa gestion d'erreur
pour choisir le "55000" ainsi que la Plage (Plg) ou se trouvent les
données, (Set Plg = .Range("A2", .Range("A2").End(xlDown)))
pouvez-vous me donner le chemin et la forme pour faire cela, le but
étant d'afficher par la suite les 3 dernières factures du client
55000, celles ci étant dans un tableau à colonne, trié par date
croissant (depuis le 01/01 jusqu'à la dernière date disponible)
Je vous remercie vivement de votre coup de main, je reste à l'écoute
de vos suggestions, toujours Excel...lente !!!
Bien à vous,
PatRednef
Si tu préfères la méthode Find...FindNext
'----------------------------------------------
Sub test()
Dim V As Double, A As Integer, T As String
Dim S As Integer, Adr As String
'Tu détermine la valeur recherchée dans la feuille
V = 55000
With Worksheets("Feuil2") 'Nom feuille à adapter
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
S = Application.CountIf(.Cells, V)
Set trouve = .Find(What:=V, LookIn:=xlValues, _
l ookat:=xlWhole)
If Not trouve Is Nothing Then
Adr = trouve.Address
Do
A = A + 1
If A > S - 3 Then
T = trouve.Row & ", " & T
End If
Set trouve = .FindNext(trouve)
Loop Until trouve.Address = Adr
End If
End With
End With
If T <> "" Then
T = Left(T, Len(T) - 2)
MsgBox "Les 3 dernières lignes, s'il y a lieu , " & _
"par odre décroissant : " & T
Else
MsgBox "Rien trouvé."
End If
End Sub
'----------------------------------------------
MichD
------------------------------------------
"MichD" a écrit dans le message de groupe de discussion : j86vo7$pv.
Bonjour,
Une autre approche :
'-------------------------------------------
Sub test()
Dim V As Double, A As Integer
Dim Rg As Range, X As String
'Tu détermine la valeur recherchée dans la feuille
V = 55000
With Worksheets("Feuil2") 'Nom feuille à adapter
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
For A = 1 To 3
X = X & Evaluate("LARGE(IF(" & Rg.Address & "=" & _
V & ",ROW(" & Rg.Address & "))," & A & ")") & ", "
Next
If X <> "" Then
X = Left(X, Len(X) - 2)
MsgBox "Les 3 lignes où on retrouve la valeur """ & V & _
""" par ordre décroissant sont : " & X
Else
MsgBox "La valeur n'a pas été trouvé dans la plage."
End If
End Sub
'-------------------------------------------
MichD
------------------------------------------
"Patrednef" a écrit dans le message de groupe de discussion :
Bonsoir à tous,
je sollicite nos génereux contributeurs ....
Un petit problème que je n'arrive pas à résoudre avec Find et Findn ext
Je sais que find conserve les paramçetres entre les appels.... mais
pas findnext ?
Ce que je cherche à réaliser ce soir:
Titre est en A1
je cherche à faire un fichier txt qui contient les 3 derniers numéros
de lignes d'un code en particulier (On prend comme exemple le 55000)
Dans la colonne A il peut y avoir des dizaines, ou des centaines voir
des milliers de codes (et donc de lignes)
Je cherche à lister dans un fichier Txt les 3 derniers 55000 (en fait
la ligne de ces 3 derniers) de cette liste
Par exemple, ci dessous, il faudrait commencer par la fin de la liste
et lister les lignes:
11
9
7
Comme cela en colonne, ne prenant pas en compte ici le 4ème code 55000
qui se trouve sur la ligne 5
Ce qui correspond aux lignes, 11,9 et 7 ou se trouvent les derniers
55000
titre
20120
20120
20120
55000
20120
55000
22156
55000
11000
55000
22120
Je fais avec Find et findnext, car les boucles me semblent trop
longues si la liste vient à dépasser quelques milliers de codes (enfi n
je pense)
Le paramêtre searchdirection:=xlPrevious fonctionne bien avec Find,
mais ne fonctionne pas, il me semble, avec FindNext
je sais gérer le fichier texe, l'inputbox avec sa gestion d'erreur
pour choisir le "55000" ainsi que la Plage (Plg) ou se trouvent les
données, (Set Plg = .Range("A2", .Range("A2").End(xlDown)))
pouvez-vous me donner le chemin et la forme pour faire cela, le but
étant d'afficher par la suite les 3 dernières factures du client
55000, celles ci étant dans un tableau à colonne, trié par date
croissant (depuis le 01/01 jusqu'à la dernière date disponible)
Je vous remercie vivement de votre coup de main, je reste à l'écoute
de vos suggestions, toujours Excel...lente !!!
Bien à vous,
PatRednef