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 :

Aide pour un code VBA Excel


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 : 63
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Aide pour un code VBA Excel
    Bonjour à tous,

    Dans un fichier Excel, j'ai un tableau. Dans la colonne A de ce tableau une liste de chiffre de 1 à 28 qui correspondent à des numéros de fiches.

    Lorsque je double-clique dans la case où se trouve le numéro 1 alors la fiche 1 s'affiche et ainsi de suite pour les autres numéros.

    Je cherche à mettre en place qui empêcherai l'utilisateur d'ouvrir la fiche si la case de la colonne B sur la même ligne que le chiffre est vide.

    Par exemple : Je double-clique en A12 où il y a le numéro 1 mais que la cellule B12 est vide alors rien ne se produit, mais un message indique à l'utilsateur qu'il doit mettre son nom en B12.
    Bien entendu, le même message doit apparaître pour chaque double-clique des cellules A12 à A39.

    Voici le code déjà en place. Il faudrait donc ajouter cette option à ce code

    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
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    'on error GoTo fin
     
    If Not Intersect([A12:A39], Target) Is Nothing Then
    Target.Interior.ColorIndex = 4 'La cellule se colore en vert"
        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
    Merci par avance pour l'aide que vous pourrez m'apporter
    Amicalement
    René

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour René,

    à insérer avant la ligne n°6, juste après la ligne n°5 du If :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Cancel = True
        If Target(, 2).Value = "" Then MsgBox "Merci de saisir le nom dans la cellule " & _
           Target(, 2).Address(0, 0): Exit Sub
    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  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 : 63
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour,

    Merci beaucoup et désolé pour ma réponse tardive.
    Amicalement

    René

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Aide pour optimisation code VBA
    Par adelas93 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/11/2014, 13h56
  2. [XL-2007] Besoin d'aide pour création code VBA
    Par francky62000 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/01/2012, 22h51
  3. Complèment pour un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/12/2008, 13h12
  4. Aide pour un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/07/2008, 10h09
  5. Aide pour un code Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/10/2007, 16h03

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