Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes qui
sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les
lignes correspondant à un critère. Les lignes sont toujours consécutives
(critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis en
dépassement de capacité.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. La macro suivante de vrait le faire :
Sub test() Dim Haut As Long, Bas As Long, Var As Range, Critere As String Critere = InputBox("Entrez le critère") If [A1] = Critere Then Haut = 1 Else Set Var = Range("A:A").Find(Critere, lookat:=xlWhole) Haut = Var.Row End If Set Var = Range("A:A").Find(Critere, lookat:=xlWhole, searchdirection:=xlPrevious) Bas = Var.Row Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1") End Sub
Cordialement. Daniel
"Michel" a écrit dans le message de news: et7hBvw%
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les lignes correspondant à un critère. Les lignes sont toujours consécutives (critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis en dépassement de capacité.
Comment puis-je faire ?
D'avance un grand merci
Michel
Bonjour.
La macro suivante de vrait le faire :
Sub test()
Dim Haut As Long, Bas As Long, Var As Range, Critere As String
Critere = InputBox("Entrez le critère")
If [A1] = Critere Then
Haut = 1
Else
Set Var = Range("A:A").Find(Critere, lookat:=xlWhole)
Haut = Var.Row
End If
Set Var = Range("A:A").Find(Critere, lookat:=xlWhole,
searchdirection:=xlPrevious)
Bas = Var.Row
Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1")
End Sub
Cordialement.
Daniel
"Michel" <michel@lafrite.be> a écrit dans le message de news:
et7hBvw%23FHA.328@TK2MSFTNGP14.phx.gbl...
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes
qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les
lignes correspondant à un critère. Les lignes sont toujours consécutives
(critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis
en dépassement de capacité.
Sub test() Dim Haut As Long, Bas As Long, Var As Range, Critere As String Critere = InputBox("Entrez le critère") If [A1] = Critere Then Haut = 1 Else Set Var = Range("A:A").Find(Critere, lookat:=xlWhole) Haut = Var.Row End If Set Var = Range("A:A").Find(Critere, lookat:=xlWhole, searchdirection:=xlPrevious) Bas = Var.Row Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1") End Sub
Cordialement. Daniel
"Michel" a écrit dans le message de news: et7hBvw%
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les lignes correspondant à un critère. Les lignes sont toujours consécutives (critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis en dépassement de capacité.
Comment puis-je faire ?
D'avance un grand merci
Michel
Michel
Merci beaucoup pour la réponse, c'est ce type de macro que je cherche depuis hier !
"Daniel" a écrit dans le message de news: %23ExOIHx%
Bonjour. La macro suivante de vrait le faire :
Sub test() Dim Haut As Long, Bas As Long, Var As Range, Critere As String Critere = InputBox("Entrez le critère") If [A1] = Critere Then Haut = 1 Else Set Var = Range("A:A").Find(Critere, lookat:=xlWhole) Haut = Var.Row End If Set Var = Range("A:A").Find(Critere, lookat:=xlWhole, searchdirection:=xlPrevious) Bas = Var.Row Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1") End Sub
Cordialement. Daniel
"Michel" a écrit dans le message de news: et7hBvw%
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les lignes correspondant à un critère. Les lignes sont toujours consécutives (critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis en dépassement de capacité.
Comment puis-je faire ?
D'avance un grand merci
Michel
Merci beaucoup pour la réponse, c'est ce type de macro que je cherche depuis
hier !
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23ExOIHx%23FHA.4092@TK2MSFTNGP10.phx.gbl...
Bonjour.
La macro suivante de vrait le faire :
Sub test()
Dim Haut As Long, Bas As Long, Var As Range, Critere As String
Critere = InputBox("Entrez le critère")
If [A1] = Critere Then
Haut = 1
Else
Set Var = Range("A:A").Find(Critere, lookat:=xlWhole)
Haut = Var.Row
End If
Set Var = Range("A:A").Find(Critere, lookat:=xlWhole,
searchdirection:=xlPrevious)
Bas = Var.Row
Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1")
End Sub
Cordialement.
Daniel
"Michel" <michel@lafrite.be> a écrit dans le message de news:
et7hBvw%23FHA.328@TK2MSFTNGP14.phx.gbl...
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes
qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les
lignes correspondant à un critère. Les lignes sont toujours consécutives
(critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis
en dépassement de capacité.
Merci beaucoup pour la réponse, c'est ce type de macro que je cherche depuis hier !
"Daniel" a écrit dans le message de news: %23ExOIHx%
Bonjour. La macro suivante de vrait le faire :
Sub test() Dim Haut As Long, Bas As Long, Var As Range, Critere As String Critere = InputBox("Entrez le critère") If [A1] = Critere Then Haut = 1 Else Set Var = Range("A:A").Find(Critere, lookat:=xlWhole) Haut = Var.Row End If Set Var = Range("A:A").Find(Critere, lookat:=xlWhole, searchdirection:=xlPrevious) Bas = Var.Row Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1") End Sub
Cordialement. Daniel
"Michel" a écrit dans le message de news: et7hBvw%
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les lignes correspondant à un critère. Les lignes sont toujours consécutives (critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis en dépassement de capacité.
Comment puis-je faire ?
D'avance un grand merci
Michel
Daniel
Ou, un peu plus court :
Sub test1() Dim Haut As Long, Bas As Long, Critere As String Critere = InputBox("Entrez le critère") If [A1] = Critere Then Haut = 1 Else Haut = Range("A:A").Find(Critere, lookat:=xlWhole).Row End If Bas = Range("A:A").Find(Critere, lookat:=xlWhole, searchdirection:=xlPrevious).Row Range(Haut & ":" & Bas).Copy Sheets("Feuil3").Range("A1") End Sub
Daniel "Daniel" a écrit dans le message de news: %23ExOIHx%
Bonjour. La macro suivante de vrait le faire :
Sub test() Dim Haut As Long, Bas As Long, Var As Range, Critere As String Critere = InputBox("Entrez le critère") If [A1] = Critere Then Haut = 1 Else Set Var = Range("A:A").Find(Critere, lookat:=xlWhole) Haut = Var.Row End If Set Var = Range("A:A").Find(Critere, lookat:=xlWhole, searchdirection:=xlPrevious) Bas = Var.Row Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1") End Sub
Cordialement. Daniel
"Michel" a écrit dans le message de news: et7hBvw%
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les lignes correspondant à un critère. Les lignes sont toujours consécutives (critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis en dépassement de capacité.
Comment puis-je faire ?
D'avance un grand merci
Michel
Ou, un peu plus court :
Sub test1()
Dim Haut As Long, Bas As Long, Critere As String
Critere = InputBox("Entrez le critère")
If [A1] = Critere Then
Haut = 1
Else
Haut = Range("A:A").Find(Critere, lookat:=xlWhole).Row
End If
Bas = Range("A:A").Find(Critere, lookat:=xlWhole,
searchdirection:=xlPrevious).Row
Range(Haut & ":" & Bas).Copy Sheets("Feuil3").Range("A1")
End Sub
Daniel
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23ExOIHx%23FHA.4092@TK2MSFTNGP10.phx.gbl...
Bonjour.
La macro suivante de vrait le faire :
Sub test()
Dim Haut As Long, Bas As Long, Var As Range, Critere As String
Critere = InputBox("Entrez le critère")
If [A1] = Critere Then
Haut = 1
Else
Set Var = Range("A:A").Find(Critere, lookat:=xlWhole)
Haut = Var.Row
End If
Set Var = Range("A:A").Find(Critere, lookat:=xlWhole,
searchdirection:=xlPrevious)
Bas = Var.Row
Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1")
End Sub
Cordialement.
Daniel
"Michel" <michel@lafrite.be> a écrit dans le message de news:
et7hBvw%23FHA.328@TK2MSFTNGP14.phx.gbl...
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes
qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les
lignes correspondant à un critère. Les lignes sont toujours consécutives
(critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis
en dépassement de capacité.
Sub test1() Dim Haut As Long, Bas As Long, Critere As String Critere = InputBox("Entrez le critère") If [A1] = Critere Then Haut = 1 Else Haut = Range("A:A").Find(Critere, lookat:=xlWhole).Row End If Bas = Range("A:A").Find(Critere, lookat:=xlWhole, searchdirection:=xlPrevious).Row Range(Haut & ":" & Bas).Copy Sheets("Feuil3").Range("A1") End Sub
Daniel "Daniel" a écrit dans le message de news: %23ExOIHx%
Bonjour. La macro suivante de vrait le faire :
Sub test() Dim Haut As Long, Bas As Long, Var As Range, Critere As String Critere = InputBox("Entrez le critère") If [A1] = Critere Then Haut = 1 Else Set Var = Range("A:A").Find(Critere, lookat:=xlWhole) Haut = Var.Row End If Set Var = Range("A:A").Find(Critere, lookat:=xlWhole, searchdirection:=xlPrevious) Bas = Var.Row Range(Haut & ":" & Bas).Copy Sheets("Feuil2").Range("A1") End Sub
Cordialement. Daniel
"Michel" a écrit dans le message de news: et7hBvw%
Bonjour à tous,
Sur une feuille, j'ai récupéré une base de donnée d'environ 40000 lignes qui sont triées par ordre croissant.
Je souhaiterais sur une autre feuille recopier à l'aide d'une macro les lignes correspondant à un critère. Les lignes sont toujours consécutives (critère de tri sur colonne 1). J'ai essayé avec une boucle mais je suis en dépassement de capacité.