Au secours

Bonjour à tous,

Quelqu'un pourrait-il me guider pour construire une macro avec boucle ?

L'objectif : Reporter dans une feuille de classeur un extrait d'une autre feuille avec des conditions particulières .

Exemple : reporter uniquement les lignes répondant à la catégorie CF (cadettes) et d'une discipline particulière (Saut en Hauteur)

Merci d'avance pour votre aide

23base1.xlsx (58.48 Ko)

Bonjour, tu peux faire des filtres ?

Si c'est le cas tu enregistres une macro avec les filtres que tu veux et le tour est joué, je peux te montrer un exemple de mon code :

c'est basé sur des bureaux d'espertises.

' A

Sheets("calcul").Copy After:=Sheets(2)

ActiveSheet.Range("$A$3:$Y$" & limitefichier).AutoFilter Field:=4, Criteria1:=Array( _

"B", "C", "D", "E", "F", _

"G", "H", "I", "J", "K", _

"L", "M", "N", "=" _

), Operator:=xlFilterValues

Rows(a & ":" & limitefichier).Select

Selection.Delete Shift:=xlUp

ActiveSheet.Range("$A$3:$Y$" & limitefichier).AutoFilter Field:=4

Range("AC4:BJ1010").Select

Selection.ClearContents

Rows(a + 1 & ":" & limitefichier).Select

Selection.Delete Shift:=xlUp

ActiveSheet.Name = "4 RP " & strdate & " A"

Range("A4").Select

If Range("A4") = "" Then

ActiveWindow.SelectedSheets.Delete

End If

Bonjour,

Vous êtes d'une rapidité exemplaire !!!

Actuellement, j'utilise déjà des filtres lancés par macros

Inconvéniants : lenteur 1000 lignes mini

J'aimerais une macro avec boucle

J'ai joint un fichier source pour vous montrer

Voici le code que j'ai obtenu avec le critères que vous avez demandé soit CF et Saut en Hauteur, ensuite vous pouvez simplement changer les données de la macro pour obtenir une autre information

Sub Macro1()
    Sheets("Feuil1").Copy Before:=Sheets(2)
    Range("A1:I1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$I$1001").AutoFilter Field:=9, Criteria1:=Array( _
        "Corde", "Demi Fond", "Poids", "PSSP", "Vitesse", "="), Operator:=xlFilterValues
    Rows("2:1001").Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.Range("$A$1:$I$32").AutoFilter Field:=9
    ActiveSheet.Range("$A$1:$I$32").AutoFilter Field:=2, Criteria1:=Array("CG", _
        "JG", "MF", "MG", "SG"), Operator:=xlFilterValues
    Rows("2:32").Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.Range("$A$1:$I$2").AutoFilter Field:=2
    Range("D8").Select
End Sub

Et si le nombre de ligne est susceptible de changer, il vous faudra les insérer dans des variables comme le code que je vous ais fourni juste au-dessus.

Cordialement, romain

Bonjour Romain

Actuellement, je fonctionne déja comme ça (désolé, je me suis mal expliqué !

Je souhaiterais plutôt une macro type boucle qui scanne la base, ligne par ligne, jusqu'à la dernière et qui me reporte les lignes souhaitées sur une autre feuille en fonction de x critères déja écrit dans x cellules

exemple : sur feuil2! en a15 : "CF" et a16 : "Hauteur"

Comment puis faire pour vous guider davantage sur mes voeux ?

Merci beaucoup de votre disponibilité et de la patience que vous avez

Ah oui d'accord, désolé ..

Sur ce point là je ne vais pouvoir vous aider, désolé de ma mauvaise compréhension.

Merci tout de même pour votre concours

Bien cordialement

Jean Claude

Salut MK,

quelque chose comme ça ?

A+

24sports.xlsm (67.11 Ko)

Bonjour,

Je ne trouve aucune macro

Merci CURULIS57, j'ai déja une superbe avancée reste une petite modif si vous permettez

Private Sub CommandButton1_Click()

iRow = Range("A" & Rows.Count).End(xlUp).Row

iFlag = 14

For x = 1 To iRow

If Range("B" & x).Value = ("CG") And Range("I" & x).Value = "Hauteur" Then

iFlag = iFlag + 1

Range("B" & x & ":I" & x).Copy Destination:=Worksheets("Feuil2").Range("A" & iFlag & ":H" & iFlag)

End If

Next

End Sub

Pourrait on remplacer les conditions cG et Hauteur par deux "adresses" de cellules contenant ces conditions ?

Bien cordialement

Bonsoir MJC,

j'ai encore bien mieux! 8)

Pour démarrer, clique n'importe où sur la première ligne (quelle que soit la feuille active).

Avec plaisir!

A+

18sportsextremes.xlsm (73.13 Ko)

Bonjour CURULUS57,

Dieu a fait l'Homme, CURULUS57 a fait des miracles sur mon fichier de sport !!!! grâce aussi à EXCEL-PRATIQUE

Pourrais je vous "confier" mon fichier original et vous expliquer comment je pourrais adapter vos programmes !

Comment vous le donner sans partage sur le site ?

Bien cordialement

Salut MJC,

des miracles, n'exagère pas! Pour la plupart des membres, c'est l'enfance de l'art, je t'assure!

Pour la discrétion que tu désires, passes ton fichier via un message privé (deuxième bandeau de menu ci-dessus).

Si ce fichier dépasse les 300Ko, va sur CJOINT.COM créer un lien vers ton fichier et colle ce lien dans ton message.

A+

Bonjour ? pouvez vous y acceder avec ce lien ?

Salut MJC,

oui, je l'ai!

M'a l'air autrement castard comme fichier!

Que puis-je, peut-être, pour vous?

A+

Je vous expose mes voeux

Dans l'onglet TOUT!, je ne souhaite plus rien ajouter mais simplement l'utiliser comme source

Dans les différents onglets : Vitesse, demi-fond, corde, Poids et Hauteur, je souhaiterais rapatrier, les athlèthes inscrits dans la discipline

correspondant à chacune des feuilles

Exemple : sur la feuille vitesse, si les entêtes correspondent à Minimes filles, j'aimerais voire apparaitre toutes les filles minimes (MF) inscrite à la course. Ce sont les fiches de terrain et elles nous permettent de noter les performances

Le jour de la compétition, j'édite les feuilles papier pour chaque épreuve et chaque catégorie

Si besoin, demandez moi tout ce qui vous semble encore flou

Bien cordialement

Salut MJC,

à ton tour!

Dis-moi, le n° de pass... ?? correspond à quoi dans TOUT ?

Je vais déjà faire un premier tour de piste avant ta réponse ; on peaufinera après!

A+