Problème selection Range

  • Initiateur de la discussion Initiateur de la discussion zxzx
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Z

zxzx

Guest
bonjour,

voilà un petit programme que je pensais assez simple mais qui malheureusement me pose quelques problèmes.
Le but : copié/ collé 2 colonnes puis effectuer un trie.

Code:
Sub trier()

'-----TRIAGE DONNES TAUX1-----
Sheets("Taux1").Activate
Range("A2:A12,E2:E12").Select
Application.CutCopyMode = False
Selection.Copy
Range("A29").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Taux1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Taux1").Sort.SortFields.Add Key:=Range("B29:B39"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Taux1").Sort
    .SetRange Range("A28:B39")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With


'-----TRIAGE DONNEES FX-----
Sheets("FX").Activate
Range("A2:A10,E2:E10").Select
Application.CutCopyMode = False
Selection.Copy
Range("A24").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Application.CutCopyMode = False
ActiveWorkbook.Worksheets("FX").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FX").Sort.SortFields.Add Key:=Range("B24:B32"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FX").Sort
    .SetRange Range("A23:B32")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With


End Sub

le code bloque dans le partie "TRIAGE DONNEES FX" à la ligne Range("A2:A10,E2:E10").Select
j'ai le message d'erreur suivant : La méthode 'Range' de l'objet '_Global' a échoué


le problème c'est que le deuxième partie du code est un copié/collé de la première partie (en modifiant les données sélectionnées) qui marche.


Une idée ?
merci d'avance de l'aide
 
Re : Problème selection Range

Bonjour zxzx,

Si vous avez mis cette macro dans le code d'une feuille c'est normal qu'elle plante.

Car la feuille n'étant pas définie devant le Range, VBA considère que c'est la feuille du code.

L'activation ne change rien à l'affaire.

Mettez donc la macro dans un Module standard (Module1).

A+
 
Re : Problème selection Range

Bonsoir zxzx et job75
L'utilisation des select est déconseillée.
Ne vaudrait-il pas mieux écrire :

CutCopyMode = False
Worksheets("FX").Range("A2:A10,E2:E10").Copy
et ainsi de suite sur le reste de la macro ?
Bonne chance
 
Re : Problème selection Range

Bonsoir
A 1ere vue ....; dejà repréciser le classeur et la feuille du ".select" ( c'est + long à écrire SÛR !!) , après une longue période d'arrêt j'ai recommencé le vba cette semaine et pour aller + vite , ce matin j'ai écrit une macro > idem , resultat même Pb : je suis donc repassé par la vieille méthode pour le résoudre et c'est OK , C'est sûr il y a mieux ..... mais faut que je retrouve
Ce qu'il faut retenir c'est que VBA réagi en rapport ou se trouve le code ( les niveaux) : feuille, module ...etc
Je peux vous certifier que j'ai eu des sueurs en début d'année avec des appels de Sub d'USF car pas placé au bon niveau et mal renseigné !!!
 
Re : Problème selection Range

salut pierrot

le code bloque dans le partie "TRIAGE DONNEES FX" à la ligne Range("A2:A10,E2:E10").Select
j'ai le message d'erreur suivant : La méthode 'Range' de l'objet '_Global' a échoué


de plus remplacer

Code:
Sheets("FX").Activate
Range("A2:A10,E2:E10").Select
Application.CutCopyMode = False
Selection.Copy


par


Code:
Sheets("FX").Activate
Application.CutCopyMode = False
Range("A2:A10,E2:E10").Copy

comme conseiller par dmc provoque le même message d'erreur
 
Re : Problème selection Range

Bonjour zxzx & Pierrot
pour moi, l'instruction n'a pas été correctement rectifiée :
ne pas oublier le worksheets sur la ligne, sinon le focus est perdu :
Worksheets("FX").Range("A2:A10,E2:E10").Copy
cela doit marcher, mais ton curseur , ou ta cellule en cours, ne se déplacera pas, tu travailles "à distance" sur les cellules a2:a10 et c'est mieux.
A +
 
Re : Problème selection Range

salut pierrot, salut dmc

désolé pour le temps de réponse un peu long mais je n'avais pas accès au programme pendant le week end.

le code corrigé ne marche toujours pas

Code:
Worksheets("FX").Activate
Application.CutCopyMode = False
Worksheets("FX").Range("A2:A10,E2:E10").Copy

ce que je ne comprend pas c'est comment le première partie peut marcher et la deuxième non alors que se sont les mêmes (seul le nom de la feuille et da la plage change)

ps: il n'y a pas de cellule fusionné dans la plage sélectionnée
 
Re : Problème selection Range

salut job

j'ai résolu le problème 🙂 un peu beaucoup grâce à toi.

en voulant présenter un fichier épuré avec des valeurs fixes la macro marche très bien.

en fait mon fichier original est basé sur bloomberg (logiciel de finance) ce qui me permet de récupérer des cours d'action en direct, apparemment cette récupération en direct qui faisait planter la macro.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
740
Réponses
17
Affichages
1 K
Réponses
4
Affichages
732
B
  • Question Question
Réponses
2
Affichages
776
Benjy51190
B
Réponses
11
Affichages
969
Réponses
6
Affichages
1 K
Retour