En fonction de la feuille active sélectionnée, activer une autre feuille liée

  • Initiateur de la discussion Initiateur de la discussion donpopo
  • 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 !

donpopo

XLDnaute Occasionnel
Bonjour le forum,
Je m'explique.
J'ai 3 feuilles de base et trois autre feuilles secondaires. Chaque feuille de base a sa propre feuille secondaire.
J'ai un userform d'encodage qui peut s'ouvrir sur chaque feuille de base.
Lorsque je clique le bouton encoder, j'écris les données sur la feuille active; cependant, je dois aussi écrire certaines données dans la feuille secondaire qui y est liée.
Je cherche depuis hier la syntaxe qui me permettrait d'activer la feuille secondaire liée à ma feuille active.
J'ai écris cette procédure, mais rien ne fonctionne. (Erreur de compilation; sub ou fonction non définie)
Voici la procédure que j'ai écrite:

Private Sub Bout_Encod_Click()
LignVide = Range("C4").End(xlDown).Row + 1 'COPIER DANS FEUILLE ACTIVE
Cells(LignVide, 3).Value = TextBox1.Value
Cells(LignVide, 5).Value = TextBox3.Value
Cells(LignVide, 6).Value = TextBox4.Value
Cells(LignVide, 8).Value = TextBox2.Value
Cells(LignVide, 9).Value = TextBox5.Value

If ActiveSheet = Worksheet("CPTE_TITRES1") Then 'SELECTION FEUILLE SECONDAIRE LIEE
Worksheet("INTERETS_CPTE_TIT1").Select
ElseIf ActiveSheet = Worksheet("CPTE_TITRES2") Then
Worksheet("INTERETS_CPTE_TIT2").Select
Else
Worksheet("INTERETS_CPTE_TIT3").Select
End If

LignVide = Range("C4").End(xlDown).Row + 1 'COPIER DANS FEUILLE SECONDAIRE LIEE
Cells(LignVide, 3).Value = TextBox1.Value
Cells(LignVide, 4).Value = TextBox2.Value
Cells(LignVide, 5).Value = TextBox4.Value
End Sub

Si quelqu'un a une idée pour me dépanner?
Merci d'avance
Donpopo
 
Bnojour Donpopo

peut-être avec ceci en ce qui concerne la sélection des feuilles

Code:
Select Case ActiveSheet.Name
Case "CPTE_TITRES1"
    Worksheet("INTERETS_CPTE_TIT1").Select
Case "CPTE_TITRES2"
    Worksheet("INTERETS_CPTE_TIT2").Select
Case "CPTE_TITRES3"
    Worksheet("INTERETS_CPTE_TIT3").Select
End Select

à+
Philippe
 
Re,

essaie en remplaçant:

Select Case ActiveSheet.Name
Case "CPTE_TITRES1"
Worksheet("INTERETS_CPTE_TIT1").Select
Case "CPTE_TITRES2"
Worksheet("INTERETS_CPTE_TIT2").Select
Case "CPTE_TITRES3"
Worksheet("INTERETS_CPTE_TIT3").Select
End Select

par:

Select Case ActiveSheet.Name
Case "CPTE_TITRES1"
Sheets("INTERETS_CPTE_TIT1").Select
Case "CPTE_TITRES2"
Sheets("INTERETS_CPTE_TIT2").Select
Case "CPTE_TITRES3"
Sheets("INTERETS_CPTE_TIT3").Select
End Select

Sinon il serait utile de joindre le fichier pour pouvoir tester

à+
Philippe
 
Re,

L'erreur est tellement bénigne que je m'y suis cassé les dents pendant 1/2 heure

Dans le code on peut voir:
INTERETS_CPTE_TIT1
INTERETS_CPTE_TIT2
INTERETS_CPTE_TIT3

Alors que les feuilles sont nommées:
INTERETS CPTE_TIT1
INTERETS CPTE_TIT2
INTERETS CPTE_TIT3

As-tu remarqué que le premier tiret_bas est absent dans les noms des feuilles
............ alors qu'il est présent dans les codes
il est nécessaire d'avoir le même nom partout

à+
Philippe

Edit:
Pour la peine, j’attends des croustillons et des laquemants 😀😀😀😀
.
.
.
 
Dernière édition:
- 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

Réponses
2
Affichages
410
Retour