Bonjour à tous,
J'ai un problème avec la sélection de feuille que je n'avais pas avant. En fait j'en ai deux qui me semblent être lié.
1/ Jusqu'à il y a quelque jour lorsque je voulais sélectionner une cellule ou une plage dans une feuille différente de celle sélectionner j'utilisais la ligne de commande suivante :
Worksheets("XXX" ).Range("B2" ). select
Aujourd'hui je suis obligé de le faire en deux lignes :
Worksheets("XXX" ).select
Range("B2" ).select
Si je le fais en une ligne j'obtiens l'erreur 1004 : la méthode sélect de la classe range à échoué.
Quelqu'un saurais ttil m'expliquer le pourquoi du comment?
2/ J'ai fait ce code :
Code :
- Sub Bouton5_Cliquer()
- Dim Effectif_entreprise As Worksheet
- Set Effectif_entreprise = Worksheets("Effectif entreprise" )
- 'recherche de la colonne contenant les intitulés d'emploi et détermination de la variable correspondant à la cellule
- Dim Colonne_Emploi As Range
- Set Colonne_Emploi = Effectif_entreprise.UsedRange.Find("Emploi" )
- Dim Colonne_Service As Range
- Set Colonne_Service = Effectif_entreprise.UsedRange.Find("Service" )
- 'Détermination de la plage de cellule correspondant aux intitulés d'emploi
- Dim Liste_emploi As Range
- Set Liste_emploi = Range(Cells(Colonne_Emploi.Row + 1, Colonne_Emploi.Column), Range(Colonne_Emploi.Address).End(xlDown))
- Dim Liste_Service As Range
- Set Liste_Service = Range(Cells(Colonne_Service.Row + 1, Colonne_Service.Column), Range(Colonne_Service.Address).End(xlDown))
- 'copier les intitulés de service dans la feuilles "effectif service" et supprimer les doublons
- Worksheets("effectif entreprise" ).Select
- Liste_Service.Copy
- Sheets("Effectif service" ).Select
- Range("D3" ).PasteSpecial xlPasteValues
- ActiveSheet.Range("D3", Range("D3" ).End(xlDown)).RemoveDuplicates Columns:=1, Header:=xlNo
- End Sub
|
Lorsque je teste la macro depuis l'éditeur en étant sur déjà sur la feuille "Effectif entreprise", la macro s’exécute parfaitement. mais lorsque je lance la macro en étant sur une autre feuille, il m'emmène sur la feuille "effectif service", toutes les cellule de la colonne D à partir de D3 sont sélectionnées, mais rien n'as été copié. J'ai l'impression qu'il ignore l'instruction sheets("effectif entreprise" ).select et je ne comprends pas pourquoi.
Je vous remercie d'avance de votre aide qui pourrait m'éviter une plus forte calvitie ;-)