[VBA]Erreur code lors d'un tri
Fermé
Skeo36
Messages postés
85
Date d'inscription
mardi 4 mai 2010
Statut
Membre
Dernière intervention
18 mai 2012
-
7 mai 2010 à 11:17
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 7 mai 2010 à 16:33
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 7 mai 2010 à 16:33
A voir également:
- [VBA]Erreur code lors d'un tri
- Erreur 0x80070643 - Accueil - Windows
- Code asci - Guide
- Code puk bloqué - Guide
- Tri excel - Guide
- Code telephone oublié - Guide
1 réponse
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
Modifié par Polux31 le 7/05/2010 à 13:15
Modifié par Polux31 le 7/05/2010 à 13:15
Bonjour,
Ici:
Target est déjà un objet passé par référence. C'est la plage active de la feuille.
Si tu as besoin d'une autre plage, il faut déclarer un autre objet Range.
Mais tu peux faire aussi comme ça, à condition que les clés soient dans cette plage.
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Ici:
Set Target = Range("fourni:G" & reception_end) Range("Target").Select
Target est déjà un objet passé par référence. C'est la plage active de la feuille.
Si tu as besoin d'une autre plage, il faut déclarer un autre objet Range.
Mais tu peux faire aussi comme ça, à condition que les clés soient dans cette plage.
Range("fourni:G" & reception_end).Sort Key1:=Range("C13"), Order1:=xlAscending, Key2:=Range("D13" _ ), Order2:=xlAscending, Key3:=Range("E13"), Order3:=xlAscending, _ Key4:=Range("F13"), Order4:=xlAscending, Key5:=Range("G13"), Order5:=xlAscending, Header _ :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
7 mai 2010 à 14:13
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim reception_end As Long
reception_end = Range("fourni").End(xlDown).Row
Set Target = Range("fourni:G" & reception_end)
Range("Target").Select
Range("fourni:G" & reception_end).Sort Key1:=Range("C13"), Order1:=xlAscending, Key2:=Range("D13" _
), Order2:=xlAscending, Key3:=Range("E13"), Order3:=xlAscending, _
Key4:=Range("F13"), Order4:=xlAscending, Key5:=Range("G13"), Order5:=xlAscending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
alors j'obtient l'erreur "argument nommé introuvable" que je n'est jamais rencontrer... Je ne suis pas sur de ce que cela implique est ce parce que la plage de cellule n'est pas bien déterminée je ne sais pas.... Et la partie en italique n'est elle pas superflue?
7 mai 2010 à 16:33
MsgBox Target.Value
MsgBox Target.Address
MsgBox "Ligne: " & Target.Row & ", Colonne: " & Target.Column
Ensuite clique sur une cellule non vide de ta feuille ...
;o)