IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Avis pour un code


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Avis pour un code
    Bonjour,

    J'ai ce code qui me permet d'afficher une autre feuille à partir d'un double-clic dans une cellule. Il fonctionne bien.
    Je l'ai copié dans une 50aine de feuilles. Est-il possible de créer un module avec ce même code afin d'alléger l'écriture dans chaque feuille ?
    Merci par avance pour vos propositions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    'On error GoTo fin
     
    If Not Intersect([A12:A39], Target) Is Nothing Then
    Cancel = True
        If Target(, 2).Value = "" Then MsgBox "Merci d'indiquer qui fait la réserve en" & " " & Target(, 2).Address(0, 0): Exit Sub
     
    Dim FNew As Worksheet, Wb As Workbook, Sh As Worksheet
    Dim Cible As String
    Dim NumLig As Variant
     
        NumLig = ActiveSheet.Range("D5")
        Cible = ("FL" & NumLig)
        Set Wb = ThisWorkbook
     
        On Error Resume Next
            Set FNew = Wb.Worksheets(Cible)
        On Error GoTo fin
     
        If Not FNew Is Nothing Then
            FNew.Activate
            FNew.Visible = True
        Else
            GoTo fin
        End If
     
        'on masque les feuilles inutiles
            For Each Sh In Wb.Worksheets
                If FNew.name <> Cible Then
                If FNew.name <> ("L" & NumLig) Then
                    FNew.Visible = xlSheetVeryHidden
                End If
                End If
            Next Sh
     
            FNew.Cells((Target.Value - 1) * 41 + 2, 3).Select
            'Application.GoTo reference:=
            End If
     
            FNew.Rows("1:1185").Hidden = True
                FNew.Range(FNew.Cells((Target.Value - 1) * 41 + 2, 3), FNew.Cells((Target.Value - 1) * 41 + 1 + 38, 3)).EntireRow.Hidden = False
                FNew.Cells((Target.Value - 1) * 41 + 2, 3).Select
     
    fin:
                Set FNew = Nothing: Set Wb = Nothing: Set Sh = Nothing
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Dans "ThisWorkbook", utilise la macro "Workbook_SheetBeforeDoubleClick". Si toutes les feuilles ne doivent pas être impactées, utilise la variable "Sh" pour déterminer quelles feuilles doivent (ou ne doivent pas) être impactées.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    ok merci pour l'info.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    Bonjour,

    Dans "ThisWorkbook", utilise la macro "Workbook_SheetBeforeDoubleClick". Si toutes les feuilles ne doivent pas être impactées, utilise la variable "Sh" pour déterminer quelles feuilles doivent (ou ne doivent pas) être impactées.
    J'utilise déjà "Sh" dans mon code, dois-je en ajouter un autre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim FNew As Worksheet, Wb As Workbook, Sh As Worksheet

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Tu peux changer le nom dans la macro événementielle, c'est le rang du paramètre qui compte, pas son nom.

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/08/2014, 09h00
  2. Votre avis pour améliorer mon code (opérations matricielles)
    Par Schopenhauer dans le forum Débuter
    Réponses: 42
    Dernier message: 17/09/2010, 19h25
  3. Réponses: 4
    Dernier message: 26/04/2006, 14h36
  4. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo