Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Select Case et sélection (en mémoire) d'une feuille

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 !

titiborregan5

XLDnaute Accro
Bonjour à tous,
je rencontre un problème avec un select case qui détermine quelle feuille utiliser...

en gros je fais (SerVice et Unité définis juste au dessus):
Code:
   Select Case SerVice
   Case "DE"
   R = Sheets("Modèle DE")
   Case "DR"
   R = Sheets("Modèle DR")
   End Select
   
   Select Case Unité
   Case "DSI"
   R = Sheets("Modèle DSI")
   Case "SAIMG"
   R = Sheets("Modèle SAIMG")
   Case Else
   R = Sheets("Modèle Autres")
   End Select
pour ensuite faire:
Code:
    ThisWorkbook.Sheets(R).Copy after:=aWb.Sheets(1)

enfin dans l'esprit car je n'arrive pas à coller la feuille qui est définie selon le cas...

Sans les select mon code marche parfaitement, et je ne veux pas remonter ma copie (et toutes les autres actions qui suivent) dans les Case car trop de répétitions et donc code plus lourd et moins facilement modifiable...

J'espère que vous pourrez m'aider.


Merci d'avance
Tibo
 
Dernière édition:
Re : Select Case et sélection (en mémoire) d'une feuille

Bonjour,

Peut-être pas tout compris mais
R fait référence à une feuille donc pas besoin de lui dire à quel classeur elle appartient, elle le sait.
Code:
If Not R is nothing then  R.Copy after:=aWb.Sheets(1)

En supposant que aWb fait référence à un classeur ouvert, quant au if not R is nothing c'est parcequ'il vaut toujours mieux tester ses variables.

A+
 
Re : Select Case et sélection (en mémoire) d'une feuille

Oups, en fait c'était pas dur, faut juste pas mettre le sheets(...) dans les case mais directement le nom de la feuille...

du coup on a
Code:
 case "DE" r="Modèle DE"
et ça a l'air de marcher...

A+

Edit: merci Hasco pour ta réponse. ma variable est testée préalablement dans le code mais je vais voir pour refaire ce test!!! Et juste avec le nom de la feuille il sait à quel classeur elle appartient?
 
Re : Select Case et sélection (en mémoire) d'une feuille

Re,

Oui, cela marche aussi.
Non, simplement avec une variable de type String contenant le nom de la feuille, il ne peut pas savoir ce que représente ce nom c'est pourquoi tu es obligé dans ce cas de mettre ThisWorkBook.sheets(LeNomDeLaFeuille).

Comme tu sembles ne rien déclarer comme variable, je ne pouvais pas savoir si R devait être une variable worksheet ou string.
Dim R as WorkSheet 'Variable objet
Set R=ThisworkBook.Sheets("Modèle DE")

Dim R as String
R="Modèle DE"

Trouve un tuto sur la déclaration et les manipulations de variables, ce n'est pas ce qui manque.

A+
 
- 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

Discussions similaires

S
Réponses
4
Affichages
2 K
stage_ferrit
S
E
Réponses
3
Affichages
2 K
Emmanuel_3005
E
P
Réponses
4
Affichages
2 K
philou7168
P
R
Réponses
2
Affichages
957
raphael1008
R
C
Réponses
4
Affichages
930
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…