![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: janvier 2007
Messages: 200
|
Bonjour,
J'en deviens fou, je ne comprends absolument pas pourquoi j'ai une erreur sur le range dans l'expression : Code :
Worksheets("Donnees").Range("C6:O490").Select Même résultat avec un activate, même résultat en activant la feuille avant de procéder à la sélection. |
|
|
|
|
|
#2 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: mars 2008
Localisation: 89 et 91
Âge: 23
Messages: 266
|
Bonjour,
essai comme ça : Code :
Worksheets("Donnees").Range(Cells(3, 6), Cells(15, 490)).Select
__________________
A lire :Les Règles, Les boutons du forum, sujet de discussion explicite ? et #CODE# sinon ![]() |
|
|
|
|
|
#3 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: janvier 2007
Messages: 200
|
J'ai cette fois une "Erreur définie par l'application ou par l'objet" sur cette ligne.
Voici les deux sub de ma feuille, peut-être une histoire de conflit : Code :
Option Explicit Private Sub trier_button_Click() Worksheets("Donnees").Range(Cells(1, 6), Cells(15, 490)).Select 'Worksheets("Donnees").Range("C6:O490").Select Selection.Sort Key1:=Range("C6"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim ISCT As Range Set ISCT = Intersect(Target, Range("A3:A14")) If Not ISCT Is Nothing Then If Target.Value = "" Then ElseIf Left(Target.Value, 1) <> "*" Then Target.Value = "*" & Target.Value & "*" End If End If End Sub |
|
|
|
|
|
#4 (permalink) |
|
Membre Expert
![]() Date d'inscription: août 2007
Localisation: Impasse
Âge: 43
Messages: 1 076
|
Ca plante ou et avec quelle erreur ?
__________________
Cordialement G@dz Question technique par MP = Vous avez des neurones. Sollicitez-les. réponse inadaptée. Si la solution est absente, le problème n'est plus.
|
|
|
|
|
|
#5 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 666
|
Bonjour,
Je n'ai pas étudié le code dans lequel on peut probablement supprimer les Select mais pour info, on ne peut sélectionner une cellule que sur la feuille active, il faut donc s'assurer que la feuille en question est bien la feuille active en décomposant comme ceci : Code :
Worksheets("Donnees").Activate Range("C6:O490").Select Code :
Worksheets("Donnees").Range("C6:O490").Sort Key1:=Range("C6"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
|
|
#6 (permalink) | |
|
Membre Confirmé
![]() Date d'inscription: janvier 2007
Messages: 200
|
J'ai déjà essayé ta seconde solution et j'ai l'erreur suivante :
Citation:
|
|
|
|
|
|
|
#7 (permalink) |
|
Membre Expert
![]() Date d'inscription: août 2007
Localisation: Impasse
Âge: 43
Messages: 1 076
|
Ca ne pourrais- pas être parce que il ne trouve pas le header de tes colonnes ?
Généralement je fais comme ceci (je regroupe les instructions relatives au tri pour plus de clarté) Code :
Start_Range_Id = Get_Range_Id(ActiveSheet.UsedRange.Name)
'Sort By 1)DateFrom 2)DateTO 3)Category
Range(Start_Range_Id).Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("G2") _
, Order2:=xlAscending, Key3:=Range("Y2"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
__________________
Cordialement G@dz Question technique par MP = Vous avez des neurones. Sollicitez-les. réponse inadaptée. Si la solution est absente, le problème n'est plus.
|
|
|
|
|
|
#8 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 666
|
Sorry j'ai oublié un bout
Code :
Worksheets("Donnees").Range("C6:O490").Sort Key1:=Worksheets("Donnees").Range("C6"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
|
|
#9 (permalink) | |
|
Membre Confirmé
![]() Date d'inscription: janvier 2007
Messages: 200
|
Citation:
|
|
|
|
|
|
|
#10 (permalink) |
|
Membre Expert
![]() Date d'inscription: août 2007
Localisation: Impasse
Âge: 43
Messages: 1 076
|
Justement !
J'avais l'impression que la clé devait etre sur la deuxième ligne du range sélectionné, comme dans mon exemple. C'était juste une suggestion....
__________________
Cordialement G@dz Question technique par MP = Vous avez des neurones. Sollicitez-les. réponse inadaptée. Si la solution est absente, le problème n'est plus.
|
|
|
|
|
|
#11 (permalink) | |
|
Membre Confirmé
![]() Date d'inscription: janvier 2007
Messages: 200
|
Citation:
Merci. |
|
|
|
|
|
![]() |
![]() |
||
simple range ne fonctionne pas
|
||
| Outils de la discussion | |
|
|