probleme classement alphabetique

malcy45

XLDnaute Occasionnel
bonjour tout le monde,
je ne comprends pas pourquoi une macro qui fonctionnait ne semble plus fonctionner. Je m'explique :

Sauf erreur de ma part, pierrejean m'avait donné une excellente astuce pour classer par ordre alphabetique une liste en evitant que les cellules vides ne se retrouve en haut car je les désirais en bas. Tout fonctionnait enfin sur xl2000
et la avec un autre ordi sous 2003 cela ne fonctionne plus et je me retrouve de nouveau avec mes cases vides en haut ;

Je vous livre le code, si quelqu un peut regarder.
D'avance merci

Application.ScreenUpdating = False
Dim cel As Range

Sheets("Rec 1").Select
Sheets("Rec 1").Copy Before:=Sheets(1)
Sheets("Rec 1 (2)").Select
Sheets("Rec 1 (2)").Name = "récap compta"

For Each cel In Range("c4:c" & Range("c65536").End(xlUp).Row)
If cel.Value = 0 Then cel.Value = "ZZZZZ"
Next cel
Range("A4:m33").Select
Selection.Sort Key1:=Range("C4"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
For Each cel In Range("C4:C" & Range("C65536").End(xlUp).Row)
If cel.Value = "ZZZZZ" Then cel.Value = 0
Next cel
Application.ScreenUpdating = True
 

Catrice

XLDnaute Barbatruc
Re : probleme classement alphabetique

Bonjour,

ci-joint une autre solution pour mettre les zéros en bas (utile si les zéros sont renvoyés par une formule par exemple)
 

Pièces jointes

  • Classeur1.xls
    25 KB · Affichages: 55
  • Classeur1.xls
    25 KB · Affichages: 58
  • Classeur1.xls
    25 KB · Affichages: 55

Gorfael

XLDnaute Barbatruc
Re : probleme classement alphabetique

malcy45 à dit:
bonjour tout le monde,
je ne comprends pas pourquoi une macro qui fonctionnait ne semble plus fonctionner.
Salut
P'vez répéter la question ?!? :confused:
Mais qu'est-ce qui se passe-t-il ? :D

T'as une erreur ? le classement ne se fait plus ? tu as des 0 dans les cases vides ? C'est quoi le problème ?
A+
 

malcy45

XLDnaute Occasionnel
Re : probleme classement alphabetique

Bonjour tout le monde,

on va reprendre vos reponses dans l'ordre ,

ballmaster :
effectivement je pensais que cela venait de cela, je l'ai donc modifié mais rien n'y fait. Merci en tout cas de ta réponse !

Catrice :
je teste ta reponse ce week end et te dis cela lundi je pense !! en attendant bon dimanche.

Gorfael :
je recapete depuis le bédut !
je n'ai pas de message d'erreur, mais le classement se fait en me laissant les cellules vides en haut alors que theoriquement le fait d'ajouter les z les faisait passer à la fin et une fois le classement fait on supprime les z.

J'ai tenté de voir pas a pas le probleme et meme si je supprime la partie suppression des z, la premiere partie ne fonctionne pas.

J'ai pensé à une erreur format de cellule genre texte nombre mais rien n'y fait.
A vous de me dire car ca marchait encore tres bien recemment d ou ma question est ce que le changement d'excel est la cause du probleme ???

amities a tous et bon week end
 

Gorfael

XLDnaute Barbatruc
Re : probleme classement alphabetique

malcy45 à dit:
Bonjour tout le monde,

on va reprendre vos reponses dans l'ordre ,

ballmaster :
effectivement je pensais que cela venait de cela, je l'ai donc modifié mais rien n'y fait. Merci en tout cas de ta réponse !

Catrice :
je teste ta reponse ce week end et te dis cela lundi je pense !! en attendant bon dimanche.

Gorfael :
je recapete depuis le bédut !
je n'ai pas de message d'erreur, mais le classement se fait en me laissant les cellules vides en haut alors que theoriquement le fait d'ajouter les z les faisait passer à la fin et une fois le classement fait on supprime les z.

J'ai tenté de voir pas a pas le probleme et meme si je supprime la partie suppression des z, la premiere partie ne fonctionne pas.

J'ai pensé à une erreur format de cellule genre texte nombre mais rien n'y fait.
A vous de me dire car ca marchait encore tres bien recemment d ou ma question est ce que le changement d'excel est la cause du probleme ???

amities a tous et bon week end
Salut
le mode pas-à-pas ne fonctionne pas avec le tri. ce doit être un problème de page active
Quand c'est comme ça, pour tester, je mets une boîte de dialogue
Code:
Application.ScreenUpdating = False
Dim cel As Range
Sheets("Rec 1").Select
Sheets("Rec 1").Copy Before:=Sheets(1)
Sheets("Rec 1 (2)").Select
Sheets("Rec 1 (2)").Name = "récap compta"
For Each cel In Range("c4:c" & Range("c65536").End(xlUp).Row)
    If cel.Value = 0 Or IsEmpty(cel) Then '--------
        cel.Value = "ZZZZZ" '---------
        MsgBox (cel.Address(0, 0)) '-------
    End If '----------------
Next cel
Range("A4:m4").CurrentRegion.Sort Key1:=Range("C4"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
MsgBox ("après tri") '---------------
For Each cel In Range("C4:C" & Range("C65536").End(xlUp).Row)
If cel.Value = "ZZZZZ" Then
    cel.Value = 0
    MsgBox ("effacement ") & cel.Address(0, 0) '--------------
End If '----------------
Next cel
Application.ScreenUpdating = True
je sais que c'est fastidieux, mais quand on est bloaqué, ça aide
petit problème annexe : si tes cellules en C sont vides et qu'elles se trouvent en bas, ta ligne :
For Each cel In Range("C4:C" & Range("C65536").End(xlUp).Row)
ne les prendra pas en compte. C'est voulu ?

Les lignes ayant subies une modif sont signalées par '-------------
A+
 

malcy45

XLDnaute Occasionnel
Re : probleme classement alphabetique

bonjour gorfael,

j'ai testé ton code et je me retrouve avec un msgbox qui egrene les c jusqu'à 30 pour finir sur une erreur.

Je vais peut etre me repeter mais je souhaite que mon tableau fasse apparaitre les noms de la colonne C en ordre alphabetique et apres seulement les cases vides.
Cela marchait avant avec le meme code d'ou mon incomprehension.

Je vais tester le code de catrice et je vous dis
cordialement
rémi
 

malcy45

XLDnaute Occasionnel
Re : probleme classement alphabetique

Catrice à dit:
Bonjour,

ci-joint une autre solution pour mettre les zéros en bas (utile si les zéros sont renvoyés par une formule par exemple)

re catrice gorfael et le forum,

j'ai tenté d'adapter ton code a mon code et je n'y arrive pas cela me donne des erreurs donc je suis toujours à la recherche d'un sauveur.
snif !!

et pour la question de gorfael theoriquement le code doit dans un premier temps ajouter des z, puis trier puis supprimer les z pour ne laisser que des cases vides.
Donc je ne sais pas quel est le role exact de ma ligne :(
For Each cel In Range("C4:C" & Range("C65536").End(xlUp).Row)
mais tant que les lignes vides restent en bas ca me va :D

cordialement
rémi
 

malcy45

XLDnaute Occasionnel
Re : probleme classement alphabetique

re a tout le monde,

j'ai pris le temps de comparer les deux fichiers :
celui qui ne fonctionne plus et celui qui fonctionnait et un seul truc est different mais c'est ce qui est à l'origine du probleme ; je l'ai moi meme constaté.

Avant les noms etaient mis à la main donc format texte maintenant ils sont recuperes par une liste et une formule que je vous livre
=SI(ESTNA(RECHERCHEV(T$2;$AK$5:$AL$31;2;0));" ";(RECHERCHEV(T$2;$AK$5:$AL$31;2;0)))
j'ai trouve l'origine du probleme mais pas la solution.
Avis aux amateurs
A +
Rémi
 

malcy45

XLDnaute Occasionnel
Re : probleme classement alphabetique

bonjour tout le monde,

Maintenant que j'ai trouvé le problème, j'ai trouvé la solution ; je vais faire un copier coller de valeurs pour les cellules concernées et redemander le classement après, je devrai solutionner définitivement mon probleme.
Je vous tiens au courant
Amicalement
Rémi
 

Discussions similaires

Réponses
2
Affichages
156

Statistiques des forums

Discussions
312 352
Messages
2 087 519
Membres
103 575
dernier inscrit
rst