Tri auto décroissant dernière colonne non vide [Résolu]

Signaler
Messages postés
5
Date d'inscription
dimanche 11 mars 2012
Statut
Membre
Dernière intervention
11 mars 2012
-
Messages postés
5
Date d'inscription
dimanche 11 mars 2012
Statut
Membre
Dernière intervention
11 mars 2012
-
Bonjour à tous,

Voici mon problème :

Je travaille sur un tableau croisé dynamique dans lequel des lignes et des colonnes s'ajoutent chaque semaine. Je cherche à faire un tri auto décroissant de la dernière colonne ajoutée (les colonnes suivantes sont vides).

J'ai trouvé ce code mais je n'arrive pas à le faire fonctionner :

Sub Test()
Dim DerC As String
With Sheets("Feuil1")
DerC = Split(.Cells.Find("*", , xlValues, , 2, 2, 0).Address, "$")(1) 'cherche le nom (la lettre) de la dernière colonne non vide
DerL = .Range("A65536").End(xlUp).Row
nbColonnes = Sheets("Feuil1").[A2].End(xlToRight).Column 'cherche le numéro de la dernière colonne non vide
Sheets("Feuil1").Range("A1:" & DerC & DerL).Sort Key1:=Cells(1, DerC), _
Order1:=xlAscending, Header:=xlGuess
End With
End Sub

Quelqu'un a t'il une idée du problème ?

Merci d'avance.

8 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
1) Cette ligne ne risque en aucun cas (avec le code montré) d'être dénoncée !

2) quand tu viens sur ce site, il te faut apprendre à te montrer sérieux et technique !

L'erreur dénoncée est sur la ligne :
nbColonnes = Sheets("Feuil1").[A2].End(xlToRight).Column 'cherche le numéro de la dernière colonne non vide
Sheets("Feuil1").Range("A1:" & DerC & DerL).Sort Key1:=Cells(1, DerC), _
Order1:=xlAscending, Header:=xlGuess 

et non sur la ligne
End With


Cette erreur dénonce quoi ? ===>> une erreur de syntaxe de ton instruction de tri (et rien d'autre !)

Alors : Excel t'offre un outil indispensable aux débutants ===>> tu vas l'utiliser, s'il te plait ====>>

Macros ===>>> enregistrer une macro ===>> tu acceptes le nom proposé ===>> tu vas sur ta feuille ===>> tu fais les gestes manuels du tri que tu veux faire ===>> arrêter l'enregistrement ===>> macros ===>> choisis la macro créée ===>> modifier ====>>> lis la syntaxe qui y a été écrite ===>>> analyse-la ===>> inspire toi de cela .
Voilà comment on devient forgeron (en commençant à forger).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour,
Peux-ru prendre s'il te plait l'habitude de présenter ton code indenté et entre balises code ? Merci d'y penser

-
Que doit retourner DerC, exactement ?
- la dernière colonne non vide d'une ligne ?
ou
- la dernière colonne non vide de ta feuille ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
5
Date d'inscription
dimanche 11 mars 2012
Statut
Membre
Dernière intervention
11 mars 2012

Ok je ferai attention la prochaine fois.

DerC doit renvoyer la dernière colonne non vide de la feuille.

Merci.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Alors, à main levée et de mémoire : ===>>

derc = worksheets("Feuil1").cells.specialcells(xlcelltypelastcell).column

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
5
Date d'inscription
dimanche 11 mars 2012
Statut
Membre
Dernière intervention
11 mars 2012

Ok merci mais mon problème c'est que le code m'affiche toujours une erreur 1004.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
On attend que tu nous dises sur quelle ligne, cette erreur !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
5
Date d'inscription
dimanche 11 mars 2012
Statut
Membre
Dernière intervention
11 mars 2012

Désolé pas encore au point en vba donc il m'affiche "erreur définie par l'application ou par l'objet" quand j'arrive au
 End With 
Messages postés
5
Date d'inscription
dimanche 11 mars 2012
Statut
Membre
Dernière intervention
11 mars 2012

Merci, tu as raison, j'ai voulu sauter des étapes indispensables. Je vais m'y mettre comme ça pour commencer.