Macro classement

7 réponses
Avatar
lolo
Bonsoir

Voila j'ai fais un classement dans le fichier excel ci joint mais je
voudrais automatiser pour gagner plus de temps en faisant une macro

Pouvez vous me donner un petit coup de pouce

Je vous remercie

Lolo

Ci joint fichier http://cjoint.com/?BCAv1W3B4jL

7 réponses

Avatar
Jacky
Bonsoir,
Pouvez vous me donner un petit coup de pouce



Dans le classeur exemple il manque une ligne
Fournisseur "O" PPM " 41288 "
Fusionner les cellules n'est pas une bonne idée
Je n'ai tenu compte que des colonnes "A:E"
'----------------------------
Sub jj()
Dim DerLg As Long, Nombre As Long, LaLigne As Long
DerLg = [max(a:a)] + 2
Nombre = Application.CountIf(Range("e2:e" & DerLg), ">0") + 3
LaLigne = Cells.Find(What:="*", LookIn:=xlFormulas, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 3
Range("b2:e" & DerLg).Sort Key1:=Range("E3"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("b3:b" & Nombre).Copy Range("a" & LaLigne)
Range("e3:e" & Nombre).Copy Range("b" & LaLigne)
Range("a" & Nombre + LaLigne - 1) = "Total:"
Range("b" & Nombre + LaLigne - 1) = Application.Sum(Range("b" & LaLigne & ":b" & Nombre + LaLigne - 3))
Range("b" & Nombre + LaLigne - 1).NumberFormat = "# ### ##0"
Range("a2:e" & DerLg).Sort Key1:=Range("a3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
'--------------------------
En retour le classeur
http://cjoint.com/?BCBbfC21ixM
--
Salutations
JJ


"lolo" a écrit dans le message de news:

Bonsoir

Voila j'ai fais un classement dans le fichier excel ci joint mais je
voudrais automatiser pour gagner plus de temps en faisant une macro

Pouvez vous me donner un petit coup de pouce

Je vous remercie

Lolo

Ci joint fichier http://cjoint.com/?BCAv1W3B4jL
Avatar
Jacky
Ouppss !!
*/*
Dans le classeur exemple il manque une ligne
Fournisseur "O" PPM " 41288 "
*/*
Ceci et bien présent dans le classeur, j'ai les yeux fatigués
Je vais mettre cela sur l'heure tardive :o))
Désolé

Il faudra remplacer cette ligne
Nombre = Application.CountIf(Range("e2:e" & DerLg), ">0") + 3
par
Nombre = Application.CountIf(Range("e2:e" & DerLg), ">0") + 2

--
Salutations
JJ


"Jacky" a écrit dans le message de news: jkqsuc$o9l$
Bonsoir,
Pouvez vous me donner un petit coup de pouce



Dans le classeur exemple il manque une ligne
Fournisseur "O" PPM " 41288 "
Fusionner les cellules n'est pas une bonne idée
Je n'ai tenu compte que des colonnes "A:E"
'----------------------------
Sub jj()
Dim DerLg As Long, Nombre As Long, LaLigne As Long
DerLg = [max(a:a)] + 2
Nombre = Application.CountIf(Range("e2:e" & DerLg), ">0") + 3
LaLigne = Cells.Find(What:="*", LookIn:=xlFormulas, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 3
Range("b2:e" & DerLg).Sort Key1:=Range("E3"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("b3:b" & Nombre).Copy Range("a" & LaLigne)
Range("e3:e" & Nombre).Copy Range("b" & LaLigne)
Range("a" & Nombre + LaLigne - 1) = "Total:"
Range("b" & Nombre + LaLigne - 1) = Application.Sum(Range("b" & LaLigne & ":b" & Nombre + LaLigne - 3))
Range("b" & Nombre + LaLigne - 1).NumberFormat = "# ### ##0"
Range("a2:e" & DerLg).Sort Key1:=Range("a3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
'--------------------------
En retour le classeur
http://cjoint.com/?BCBbfC21ixM
--
Salutations
JJ


"lolo" a écrit dans le message de news:

Bonsoir

Voila j'ai fais un classement dans le fichier excel ci joint mais je
voudrais automatiser pour gagner plus de temps en faisant une macro

Pouvez vous me donner un petit coup de pouce

Je vous remercie

Lolo

Ci joint fichier http://cjoint.com/?BCAv1W3B4jL




Avatar
Jacky
Une erreur sur le tri c'est glisser dans le code
Replacer
Range("b2:e" & DerLg).Sort Key1........
par
Range("a2:e" & DerLg).Sort Key1
--
Salutations
JJ


"Jacky" a écrit dans le message de news: jkqsuc$o9l$
Bonsoir,
Pouvez vous me donner un petit coup de pouce



Dans le classeur exemple il manque une ligne
Fournisseur "O" PPM " 41288 "
Fusionner les cellules n'est pas une bonne idée
Je n'ai tenu compte que des colonnes "A:E"
'----------------------------
Sub jj()
Dim DerLg As Long, Nombre As Long, LaLigne As Long
DerLg = [max(a:a)] + 2
Nombre = Application.CountIf(Range("e2:e" & DerLg), ">0") + 3
LaLigne = Cells.Find(What:="*", LookIn:=xlFormulas, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 3
Range("b2:e" & DerLg).Sort Key1:=Range("E3"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("b3:b" & Nombre).Copy Range("a" & LaLigne)
Range("e3:e" & Nombre).Copy Range("b" & LaLigne)
Range("a" & Nombre + LaLigne - 1) = "Total:"
Range("b" & Nombre + LaLigne - 1) = Application.Sum(Range("b" & LaLigne & ":b" & Nombre + LaLigne - 3))
Range("b" & Nombre + LaLigne - 1).NumberFormat = "# ### ##0"
Range("a2:e" & DerLg).Sort Key1:=Range("a3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
'--------------------------
En retour le classeur
http://cjoint.com/?BCBbfC21ixM
--
Salutations
JJ


"lolo" a écrit dans le message de news:

Bonsoir

Voila j'ai fais un classement dans le fichier excel ci joint mais je
voudrais automatiser pour gagner plus de temps en faisant une macro

Pouvez vous me donner un petit coup de pouce

Je vous remercie

Lolo

Ci joint fichier http://cjoint.com/?BCAv1W3B4jL




Avatar
Jacky
Re...

http://cjoint.com/?BCBddqhN6lZ

--
Salutations
JJ
Avatar
lolo
Jacky

Merci du coup de pouce !
Voila du temps de gagner !!

Merci encore
Bonne soirée

Lolo
Avatar
Jacky
Re...
Si les codes fournisseur ne devaient pas être dans l'ordre ascendant (comme dans le fichier exemple) ou s'ils
sont de type alphanumérique
Ce classeur ;o)
http://cjoint.com/?BCBwodutEgS


--
Salutations
JJ


"lolo" a écrit dans le message de news:

Jacky

Merci du coup de pouce !
Voila du temps de gagner !!

Merci encore
Bonne soirée

Lolo
Avatar
Jacky
C'est celui-ci ...le bon
http://cjoint.com/?BCCamRh4ivD
--
Salutations
JJ