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 :

Compter fréquentation d'un lieu et appels reçus


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Assistante RH
    Inscrit en
    Février 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Assistante RH

    Informations forums :
    Inscription : Février 2019
    Messages : 4
    Par défaut Compter fréquentation d'un lieu et appels reçus
    Bonjour,

    Je souhaite pouvoir compter par service le nombre de visiteurs et d'appels que peut recevoir l'hôtesse d'un accueil. Une page excel serait ouvert avec des compteurs par service et l'hôtesse cliquerait à chaque passage ou à chaque appel le compteur correspondant. Les infos devraient se collecter dans une deuxième feuille qui me donnerait au mois le nombre de visiteurs et d'appels par service.
    J'ai mon classeur déjà tout préparé mais je n'arrive pas à trouver le bon code VBA permettant la collecte des informations sur la deuxième feuille et que tout soit verrouillé par la suite pour qu'il n'y est pas de modification possible et que les données ne s'effacent pas quand on fait une remise à zéro des compteurs. Je ne connais pas du tout le langage VBA. J'ai fait des recherches un peu partout mais tout ce que j'ai essayé de faire ne fonctionne pas.

    J'espère avoir un coup de main de la part des pros pour finaliser mon projet.

    Je joins mon fichier pour avoir une idée de ce que j'avance.

    Merci par avance à tous ceux qui pourront m'aider...
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Mystik, bonjour le forum,

    Le problème est de savoir quand se fait le report des données.
    Je propose que la date ne soit plus une formule, comme actuellement, mais dépende du bouton Remise à zéro. Par exemple, nous somme le 04 février comme la date en B2. Tant que la date en B2 est égale à la date du jour, le bouton Remise à zéro n'est pas accessible, les compteurs fonctionnent.
    Le lendemain (ou un jour différent de la date en B2), les compteurs sont bloqués et seul le bouton Remise à zéro est possible. Au clic, les données des compteurs sont envoyée en Feuil2 à la date de B2, le bouton redevient bloqué, B2 prend la date du jour et les compteurs sont débloqués permettant un nouveau comptage.

    Est-ce que ça te conviendrait ce système ?

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    En tout premier, tu changes ta formule MAINTENANT() par AUJOURDHUI() dans ta feuille "Saisie" afin d'avoir une valeur de type Long et non Double ensuite, tu colles le code ci-dessous dans le module de la feuille "Saisie" là où se trouvent déjà les procédures événementielles de tes boutons puis tu testes :
    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
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
        Dim Plage As Range
        Dim Cel As Range
        Dim F As String
     
        'seules sont prisent en compte les colonnes D et K
        If Target.Column <> 4 And Target.Column <> 11 Then Exit Sub
        If Target.Count > 1 Then Exit Sub
     
        'défini la plage sur la colonne D de la feuille "Relevés" à partir de D4
        With Worksheets("Relevés"): Set Plage = .Range(.Cells(4, 4), .Cells(.Rows.Count, 4).End(xlUp)): End With
     
        'mémorise le format de la plage ,puis la pace esr Standard afin d'avoir des valeur de type Long
        F = Plage.NumberFormat
        Plage.NumberFormat = "General"
     
        'effectue la recherche de la date en type Long
        Set Cel = Plage.Find(CLng(Range("B2").Value), , xlValues, xlWhole)
     
        'puis rétabli le format
        Plage.NumberFormat = F
     
        'si trouvée, inscrit les valeurs dans les cases correspondantes
        If Not Cel Is Nothing Then
     
            Select Case Target.Column
     
                Case 4: Cel.Offset(, Target.Row - 7).Value = Cel.Offset(, Target.Row - 7).Value + 1
                Case 11: Cel.Offset(, Target.Row).Value = Cel.Offset(, Target.Row).Value + 1
     
            End Select
     
        End If
     
    End Sub

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Assistante RH
    Inscrit en
    Février 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Assistante RH

    Informations forums :
    Inscription : Février 2019
    Messages : 4
    Par défaut
    Bonjour Theze,

    J'ai utilisé le code que vous m'avez proposé et ça marche du tonnerre. Je vous remercie infiniment pour cette aide. Juste une dernière chose, sur la feuille "Relevé", j'aimerai masquer la colonne D4. Lorsque je le fais, les données de la feuille "Saisie" n'apparaissent plus. Est-il possible de rajouter un code VBA permettant de masquer cette colonne et que la saisie fonctionne correctement ?
    Merci d'avance.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Assistante RH
    Inscrit en
    Février 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Assistante RH

    Informations forums :
    Inscription : Février 2019
    Messages : 4
    Par défaut
    Bonjour Thauteme,

    Avant tout, merci d'avoir répondu à ma demande. Le système que vous proposez devrait me convenir. Il faudrait que je le teste pour voir.

    Pour l'instant, j'ai utilisé le code proposé par Theze qui fonctionne bien.

    Communiquez moi votre proposition, je suis preneur.

    A bientot

Discussions similaires

  1. [XL-2010] Compter fréquentation d'un lieu et appels reçus
    Par Mystik_23 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2019, 15h49
  2. Réponses: 6
    Dernier message: 01/03/2010, 14h27
  3. Réponses: 3
    Dernier message: 17/09/2008, 21h15
  4. Réponses: 7
    Dernier message: 29/05/2008, 11h24
  5. Réponses: 3
    Dernier message: 08/09/2006, 12h35

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