Bonjour le Forum .

J'ai un problème avec l'utilisation de Set dans ma macro.
Quand la syntaxe de ma macro est comme suit ça fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Dim MaPlage2 As Range
 
With Sheets("Feuil1")
[...]
Worksheets("Feuil2").Activate
Set MaPlage2 = ActiveSheet.Range(Cells(1, 1), Cells(10, 1))
[...]
End With
L'inconvénient est l'utilisation d'Activate et ça demande plus d'une minute d’exécution de programme (environ 3000 Activate utilisés dans la boucle). J'essai d'enlever un maximum d'Activate possible afin d'optimiser le programme et que je teste le code suivant, ça ne fonctionne pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Dim MaPlage2 As Range
 
With Sheets("Feuil2")
[...]
Set MaPlage2 = .Range(Cells(1, 1), Cells(10, 1))
' Ou alors cette syntaxe : 
Set MaPlage2 = Worksheets("Feuil2").Range(Cells(1, 1), Cells(10, 1))
[...]
End With
L'erreur qui m'est indiquée est :
Nom : fichier erreur.JPG
Affichages : 131
Taille : 18,6 Ko

Je ne comprends pas parce que je suis dans un With Sheets("") et je place bien un point (.) devant le .Range.
Vos conseils et suggestions seront les bienvenues! . Merci d'avance !

BlackMountain