Boucle + rangement feuille

Bonjour Forum,

J'aurais besoin d'un petit coup de pouce pour finaliser ma macro, j'ai une macro faite principalement avec l'enregistreur de macro mais c'est insuffisant pour faire toute la feuille et là il me faudrait une boucle et nettoyer le reste qui n'est pas concerné par le code.

Sub test()
       Range("A1").Select

       Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(3, 0).Select
        Selection.Cut
        ActiveCell.Offset(-3, 1).Select
        ActiveSheet.Paste

        Range("A1").Select

        Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(4, 0).Select
        Selection.Cut
        ActiveCell.Offset(-3, 1).Select
        ActiveSheet.Paste

        Range("A1").Select

        Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(5, 0).Select
        Selection.Cut
        ActiveCell.Offset(-5, 2).Select
        ActiveSheet.Paste

        Range("A1").Select

        Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(6, 0).Select
        Selection.Cut
        ActiveCell.Offset(-6, 3).Select
        ActiveSheet.Paste

        Range("A1").Select

        Range("A1").Select
        Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(7, 0).Select
        Selection.Cut
        ActiveCell.Offset(-7, 4).Select
        ActiveSheet.Paste

        Range("A1").Select

        Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(9, 0).Select
        Selection.Cut
        ActiveCell.Offset(-8, 2).Select
        ActiveSheet.Paste

        Range("A1").Select

        Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(12, 0).Select
        Selection.Cut
        ActiveCell.Offset(-11, 3).Select
        ActiveSheet.Paste

        Range("A1").Select
        Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(15, 0).Select
        Selection.Cut
        ActiveCell.Offset(-14, 4).Select
        ActiveSheet.Paste

        Worksheets("Feuil1").Columns("A:D").AutoFit

        End Sub
4essai.xlsm (16.61 Ko)

Merci d'avance de votre aide

Bonjour Muratime,

Ce sont des données brutes qu'il faut ranger en colonnes. Le problème est que certaines données sont omises donc si jai bien compris elles ne doivent pas être prise en compte. Dans un premier temps il est peut-être possible d'effectuer un nettoyage de ces lignes inutiles afin de retrouver une logique bien claire. Ensuite en ligne 20 il y a "Bet-At-Homme"; dans quelle cellule doit on la coller? La ligne 21 doit elle être copiée. C'est pareil pour tous les 1, x, 2 qui ont déjà été copiés faut-il les recopier quelque part?

Bonjour fcyspm30, oui c'est tout a fait ça a partir de la lettre "Â" pour chaque match on peu supprimer la cellule A4, A10, A12, A13, A15, A16, A18, A19, A20, et la macro range le reste. Pas besoin de recopier les 1X2 la macro le fait déjà. Il sont déjà déplacé.

Ce qui rajouterais dans la macro ceci La macro fonctionne qu'une fois d'ou ma demande une boucle et un code un peu mieux optimisé.

Sub supprime()
        Range("A1").Select

        Cells.Find(What:="Â", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        ActiveCell.Offset(2, 0).Clear
        ActiveCell.Offset(8, 0).Clear
        ActiveCell.Offset(10, 0).Clear
        ActiveCell.Offset(11, 0).Clear
        ActiveCell.Offset(13, 0).Clear
        ActiveCell.Offset(14, 0).Clear
        ActiveCell.Offset(16, 0).Clear
        ActiveCell.Offset(17, 0).Clear
        ActiveCell.Offset(18, 0).Clear

End Sub
5essai.xlsm (17.23 Ko)

Bonsoir Muratime et le forum,

2essai.xlsm (19.75 Ko)

Je reviens à vous. J'ai créé un petit code qui permet d'épurer toute la liste telle qu'elle est représentée en effaçant toutes les info non retenues. Appuyez sur le bouton de la macro pour voir le résultat. Ensuite avec du copier coller montrez nous exactement la présentation des données telles que vous les souhaitez en reprenant toutes les données de la liste. Au moins on aura un meilleur aperçu de ce que vous aimeriez avoir.

Cela ne fonctionne pas comme je veux si tu prend mon deuxième fichiers et que tu appliques la macro tu comprendra mieux et donc je voudrais ça pour la feuille complète. Car la ma macro ne fonctionne qu'une fois.

C'est bizard car avec le deuxième fichier la macro fonctionne parfaitement. Voudriez-vous mettre le fichier avec le résultat incorrect en téléchargement?

Oui le deuxième fichiers fonctionne mais qu'une fois juste pour le premier match ensuite il y en d'autre plus bas.

Voudriez-vous mettre le fichier avec le résultat incorrect en téléchargement?

J'ai pas compris quel résultat incorrect ?

Le fichier que vous avez fait c'est le deuxième code que j'ai mis dans le post mais ça manque le premier code que j'ai mis

En faite votre macro fonctionne pour épurer ensuite ce qui serait bien c'est de me mettre tous les "1" "X" "etc ... comme ceci

sans titre

J'ai eu du mal a comprendre votre macro mais ça y est j'ai compris car au début je supprimais la ligne 1 et ça décalais tous!

Super !c'est ce que j'attendais

Voilà un petit code qui range la feuille comme convenu à la manière débutant. Selon l'importance du fichier cela risque d'être un peu long. Aussi quelques fortiches du forum pourront le modifier pour que cela aille plus vite et je compte bien sur eux pour notre bon plaisir mais surtout avec des commentaires.

6essai-nettoye.xlsm (20.78 Ko)

Merci beaucoup cela fonctionne nickel

Merci pour le retour.

J'ai juste enregistré le fichier au format excel 2003 (.xls) je trouve que les macros travail plus vite

Rechercher des sujets similaires à "boucle rangement feuille"