Bonjour,
Je souhaite récupérer les cellules de la sélection ou à défaut la cellule active d'une autre feuille que la feuille active.
A force de fouiller sur le web, j'ai compris que "Selection" et "ActiveCell" s'applique à la feuille active et qu'il semble que ce ne soit pas trivial. En désespoir de cause, j'ai écrit cette fonction (testée avec VBA Excel 2010).
	
	
	
	
	
		
Avant de la mettre en production, n'existe-t-il réellement rien de plus simple pour faire ce boulot ? C'est tellement incroyable que cela n'existe pas en natif.
Par avance, je vous remercie de vos réponses.
Et, si elles sont toutes négatives, j'espère que ces quelques lignes de VBA seront utiles à quelqu'un.
A bientôt
GM
	
		
			
		
		
	
				
			Je souhaite récupérer les cellules de la sélection ou à défaut la cellule active d'une autre feuille que la feuille active.
A force de fouiller sur le web, j'ai compris que "Selection" et "ActiveCell" s'applique à la feuille active et qu'il semble que ce ne soit pas trivial. En désespoir de cause, j'ai écrit cette fonction (testée avec VBA Excel 2010).
		VB:
	
	
	'Retourne les cellules sélectionnées de la feuille passée en paramètre ou la cellule "active" si la sélection n'est pas un range
Function CellulesSelectionnees(Feuille As Worksheet) As Range
Dim FeuilleCourante As Worksheet
Dim EtatMajAffichage As Boolean
'Conservation de l'état courant
Set FeuilleCourante = ActiveSheet
EtatMajAffichage = Application.ScreenUpdating
'Récupération de la cellule
Application.ScreenUpdating = False
Feuille.Activate
'On ne retourne la sélection que si c'est un range
If TypeName(Selection) = "Range" Then
    Set CellulesSelectionnees = Selection
Else
    Set CellulesSelectionnees = ActiveCell 'La cellule active est toujours un range
End If
'Restitution de l'état courant
FeuilleCourante.Activate
Application.ScreenUpdating = EtatMajAffichage
End FunctionAvant de la mettre en production, n'existe-t-il réellement rien de plus simple pour faire ce boulot ? C'est tellement incroyable que cela n'existe pas en natif.
Par avance, je vous remercie de vos réponses.
Et, si elles sont toutes négatives, j'espère que ces quelques lignes de VBA seront utiles à quelqu'un.
A bientôt
GM
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		