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

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
.
.
.
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…