Macro avec multiples fonctions

Résolu/Fermé
Anthonyyy - Modifié par Anthonyyy le 28/12/2012 à 10:27
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 - 28 déc. 2012 à 14:47
Bonjour,

Voici le fichier http://cjoint.com/?3LCkqgPdFJ4

je cherche à générer une macro avec ces différentes fonctions.
pourriez vous m'aider ?

dans l'onglet recup (2) :
- Masquer Colonne A
- Supprimer Colonnes C, D, G et H
- Supprimer les « 00000000 » en colonne I pour ne laisser que les 5 chiffres
- Placer un filtre automatique
- Générer un tri croissant par code article (colonne I)
- Insérer 1 colonne entre « code article » (colonne I) et « libellé article » (colonne J)

Dans la ligne 2 de la nouvelle colonne insérée, introduire le formule « =SI(E2=E1;1;0) » à appliquer dans toutes les cellules de la nouvelle colonne

Dans la nouvelle colonne, faire filtre sur =1 (c'est les doublons) et supprimer toutes les lignes égales à 1

Refaire un filtre pour tout afficher

Supprimer la nouvelle colonne

Ajuster la colonne des libellés en fonction du contenu

Faire un filtre sur la colonne libellé / personnalisé / commençant par / "s/t"

Supprimer toutes les lignes de ce filtre

Afficher tout

Faire un filtre sur date demande par ordre croissant (colonne E)

L'onglet "recup" est le résultat fait manuellement

Merci de votre aide

1 réponse

chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
28 déc. 2012 à 10:45
Bonjour,

as-tu des connaissances en VBA ? As-tu déjà commencé à développer ce que tu demandes?
Ces forums sont surtout fait pour donner un coup de main, pas pour tout faire à la place des gens.

Cordialement.
0
Bonjour,

j'ai quelques connaissances en piochant sur le net des fonctions.
j'ai commencé le code mais un soucis sur le tri des données, ça me bascule ma ligne d'entêtes tout en bas alors que j'ai intégré Header:=xlGuess

Sub macroPLA()
Application.ScreenUpdating = False 'désactive le rafraichissement
Sheets("recup").Activate 'active la feuille

Dim I As Byte
For I = 9 To 9 'précise la colonne
Columns(I).TextToColumns Destination:=Cells(1, I) 'converti le format texte en standard
Next I

Columns("A").Select
Selection.EntireColumn.Hidden = True 'masque la colonne

Columns("G:H").Delete Shift:=xlToLeft 'supprime colonne
Columns("C:D").Delete Shift:=xlToLeft 'supprime colonne

'Range("A1").AutoFilter 'filtre automatique
[A:AZ].Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlGuess 'tri

Range("F1").Select
Selection.EntireColumn.Insert

Application.ScreenUpdating = True 'réactive l'affichage
End Sub
0
Sub macroPLA()
Application.ScreenUpdating = False 'désactive le rafraichissement
Sheets("recup").Activate 'active la feuille

Dim I As Byte
For I = 9 To 9 'précise la colonne
Columns(I).TextToColumns Destination:=Cells(1, I) 'converti le format texte en standard
Next I

Columns("A").Select
Selection.EntireColumn.Hidden = True 'masque la colonne

Columns("G:H").Delete Shift:=xlToLeft 'supprime colonne
Columns("C:D").Delete Shift:=xlToLeft 'supprime colonne

[A:AZ].Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlYes 'tri les dates de la colonne AG

Range("e2").Select
donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select

While ActiveCell <> ""
If ActiveCell = donnee1 Then
ActiveCell.EntireRow.Delete
ActiveCell.Offset(-1, 0).Select
donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select
Else
donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select
End If
Wend

Columns("E:F").AutoFit 'largeur auto

Dim ligne As Long

With Worksheets("recup")
For ligne = .Cells(Rows.Count, 6).End(xlUp).Row To 2 Step -1
If (InStr(UCase(.Cells(ligne, 6)), "S/T") > 0) Then
.Cells(ligne, 6).EntireRow.Delete Shift:=xlUp
End If
Next
End With


[A:AZ].Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlYes 'tri les dates de la colonne AG

Application.ScreenUpdating = True 'réactive l'affichage
End Sub
0
merci pour le coup de main ;-)
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
28 déc. 2012 à 14:47
Désolé mais j'ai pas vraiment le temps de regarder ça maintenant.
Je peux y jeter un coup d'oeil ce weekend, pas avant.
0