Microsoft 365 Aller une donnée sur une autre feuille

FCMLE44

XLDnaute Impliqué
Supporter XLD
Bonjour

Sur une nouvelle feuille de mon projet, j'ai repris un code qui m'avait gentiment été fait par une personne de ce site

je l'ai modifié pour l'adapter à la situation de cette nouvelle feuille
VB:
If Target.Address = "$D$18" Then
        Application.ScreenUpdating = False
        Range("1:290").EntireRow.Hidden = False
        Select Case Target.Value
        Case "Démission", "Fin de contrat Apprentissage", "Fin de contrat Professionnalisation", "Décès", "Licenciement Faute Grave", "Fin de Contrat à Durée Déterminée", "Licenciement Autres", "Rupture Conventionnelle"
            [232:290].EntireRow.Hidden = True
        End Select
    End If

mais la première partie n'est pas correcte
Code:
If Target.Address = "$D$18" Then

Je souhaite en effet qu'elle n'aille pas chercher la cellule D18 de cette deuille mais D18 de la feuille "Renseignements salariés"

Cordialement
 
Solution
Bonjour
Je pense que ça devrait correspondre.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    '****************************************** Sélection feuille Indemnité************************
    If Target.Address = "$D$21" Then
        If Target = "" Then Exit Sub
            Sheets("Feuille Calcul Indemnités").Select
    End If
A+ François

fanfan38

XLDnaute Barbatruc
Bonjour
Visiblement cette macro se lance au changement dans une feuille
' Private Sub Worksheet_Change(ByVal Target As Range)
target étant la cellule qui vient de changer...
en l'absence d'un fichier il est dûr de t'aider (on est pas devin)
Tu veux aller chercher la cellule d18 de la feuille "Renseignements salariés" quand?
A+ François
 

FCMLE44

XLDnaute Impliqué
Supporter XLD
Bonjour

Pour être plus clair, lorsque dans le menu déroulant en cellule D18 de la feuille "Renseignements salarié" indique Retraite(données reprises de la feuille Paramètres), il faut que les lignes 232 à 290 de la feuille courriers salariés soient masquées

Je vous fournis une partie de mon fichier réactualisé sans aucune donnée pour voir

Merci
 

Pièces jointes

  • Classeur1.xlsm
    77.6 KB · Affichages: 16

FCMLE44

XLDnaute Impliqué
Supporter XLD
Bonjour

Petit changement, cette partie de code ouvre une feuille du même nom que présent dans la cellule D21
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$21" Then
        If Target = "" Then Exit Sub
        If IsError(Evaluate("='" & Target.Value & "'!A1")) Then
            MsgBox "La feuille " & Target.Text & " n'existe pas !", , "Information"
        Else
            Sheets(Target.Value).Select
        End If
    End If

Aprés avancement sur mon projet, je souhaiterais que, peu importe la donnée y figurant, dès que la cellule D21 est non vide, l'on se rende sur la feuille "Feuille Calcul Indemnités"

Est ce possible et que modifier

Ci dessous code en entier
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$21" Then
        If Target = "" Then Exit Sub
        If IsError(Evaluate("='" & Target.Value & "'!A1")) Then
            MsgBox "La feuille " & Target.Text & " n'existe pas !", , "Information"
        Else
            Sheets(Target.Value).Select
        End If
    End If
    '****************************************** Masquer/afficher************************
   If Target.Address = "$D$18" Then
        Application.ScreenUpdating = False
        Sheets("Courriers Salariés").Range("28:28,232:289").EntireRow.Hidden = False
        Range("20:62,74:75").EntireRow.Hidden = False
        Select Case Target.Value
        Case "Démission"
            [20:23,41:62,74:75].EntireRow.Hidden = True
            Sheets("Courriers Salariés").Range("232:289").EntireRow.Hidden = True
        Case "Fin de contrat Apprentissage", "Fin de contrat Professionnalisation", "Licenciement Faute Grave"
            [20:28,41:62,74:75].EntireRow.Hidden = True
            Sheets("Courriers Salariés").Range("232:289").EntireRow.Hidden = True
        Case "Décès"
            [20:28,41:62,74:75].EntireRow.Hidden = True
            Sheets("Courriers Salariés").Range("232:289,28:28").EntireRow.Hidden = True
        Case "Fin de Contrat à Durée Déterminée"
            [20:28,46:62,75:75].EntireRow.Hidden = True
            Sheets("Courriers Salariés").Range("232:289").EntireRow.Hidden = True
        Case "Licenciement Autres"
            [41:46,74:74].EntireRow.Hidden = True
            Sheets("Courriers Salariés").Range("232:289").EntireRow.Hidden = True
        Case "Retraite"
            [20:24,41:46,74:74].EntireRow.Hidden = True
        Sheets("Courriers Salariés").Range("28:28").EntireRow.Hidden = True
        Case "Rupture Conventionnelle"
            [25:28,41:46,74:74].EntireRow.Hidden = True
            Sheets("Courriers Salariés").Range("232:289").EntireRow.Hidden = True
        End Select
    End If
    '****************************************** Alerte Retraite************************
    If Target.Address(0, 0) = "D18" And UCase(Range("D18")) = "RETRAITE" Then
        mois = Month(Range("B17")) + 1
        If mois = 13 Then
         mois = 1
        an = Year(Range("B17")) + 1
    Else
        an = Year(Range("B17"))
    End If
        findemois = CDate("01/" & mois & "/" & an) - 1
    If Range("B17") <> findemois Then
    MsgBox ("Attention, un départ en retraite ne doit jamais avoir lieu au début ni même en cours de mois. Uniquement le dernier jour du mois. Merci, par conséquent de modifier la date de sortie en cellule B17. EN CAS D'INFORMATION CONTRAIRE, MERCI DE PRENDRE CONTACT AVEC VOTRE RESPONSABLE DE GROUPE")
      Range("B17") = ""
   End If
End If
End Sub
 

fanfan38

XLDnaute Barbatruc
Bonjour
Je pense que ça devrait correspondre.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    '****************************************** Sélection feuille Indemnité************************
    If Target.Address = "$D$21" Then
        If Target = "" Then Exit Sub
            Sheets("Feuille Calcul Indemnités").Select
    End If
A+ François
 

Discussions similaires

Réponses
8
Affichages
709
Réponses
5
Affichages
696
Réponses
18
Affichages
2 K

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa