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

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
 

phlaurent55

Nous a quittés en 2020
Repose en paix
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
 

phlaurent55

Nous a quittés en 2020
Repose en paix
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
 

donpopo

XLDnaute Occasionnel
Cela ne fonctionne toujours pas.
Je te joins le fichier en son entier; il est assez important, mais cela concerne pour le moment uniquement la feuille CPTE_TITRES1, la feuille INTERETS_CPTE_TIT1 et le userform3.
Merci pour ton aide,
Georges
 

Pièces jointes

  • COMPTES-TITRES - travail.xlsm
    4.8 MB · Affichages: 16

phlaurent55

Nous a quittés en 2020
Repose en paix
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 :D:D:D:D
.
.
.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 634
Messages
2 111 445
Membres
111 138
dernier inscrit
Gsx31