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 sur un code


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut Aide sur un code
    Bonjour,
    J'ai un pti soucis de code sur excel. Au fait je veux un code qui me permettra d'effectuer un bip sonore quand le contenu d'une cellule de la plage de G9 à G500 atteint 0. Quelqu un peut m'aider pour le code de la macro.. Merci Beaucoup

  2. #2
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    Pour être honnête, je n'avais fais quelque chose qui ressemble à ton problème. Donc j'ai chercher sur le Net pendant 10 min et j'ai trouvé ce que je ne savais pas.
    Faire un Bip et utiliser Worksheet_change (et intersect que j'avais très peu utilisé)
    Donc en partant de presque rien j'arrive à faire à peu près ce que tu cherches. Comme quoi en cherchant un peu tu aurais pu le faire tout seul. Donc je te donne le code (qui n'est pas parfait mais bon, tu saura l'adapter) et je dit : "Donne un poisson à celui qui a faim et il mangera une fois, apprend lui à pécher et il mangera toute sa vie"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If Not Intersect(Target, Range("G9", "G500")) Is Nothing Then
        On Error Resume Next
        If Target.Value < 1 Then
            Beep
        End If
    End If
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    MerCi Pour ta citation Mais j'ai essayé ton code ça ne fonctionne pas. Mais j'avais deja reussi a executer mar formule mais sur une seule cellule. Voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Range("G9") = 0 Then
    Call BeepBeep
    MsgBox "Le Stock a atteint la valeur 0"
    End If
    End Sub
    Mai pour une plage en allant de G9 à G500 par exemple je sais pas quoi faire. Merci encore pour ton Aide.

  4. #4
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    Re-Bonjour,

    Qu'est ce qui ne marche pas chez toi ?
    Je viens de réessayer et sa marche nikel.
    Il y a une erreur VBA ou bien le Beep ne se déclenche pas ?

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    Salut Nchal. Comme je te disais ton code ne marche pas chez moi. Mais j'ai éssayé de bricoler quelquechose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Calculate()
        Dim x
        x = Application.Sum(Range("G9:G50"))
        If x <= 0 Then
        MsgBox " le stock est à 0"
        End If
    End Sub
    Mais quand j insere la foction BeepBeep eb dessous du msgbox le code bug

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut Code Visual ba
    Salut le Forum. Comment faire pour que ma macro s'exécute a l'ouverture de mon fichier parceque une fois le fichier fermé,le code vba disparait. Merciii

  7. #7
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    tu peux utiliser l’évènement open du classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
     
    End Sub

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    Merci pour ton aide mais moi ma procédure c'est une "calculate"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Calculate()
            Dim x
            x = Application.Sum(Range("G9:G50"))
            If x < 1 Then
            MsgBox " Attention,le stock est à 0", vbInformation, "ATTENTION"
        End If
    End Sub
    Comment veux tu que je l'adapte au tien???? merciii

  9. #9
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    En forçant le calcul à l'ouverture du classeur ton code sera exécuté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        Application.Calculate
    End Sub

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 111
    Par défaut
    Citation Envoyé par CrazySoprano Voir le message
    Salut le Forum. Comment faire pour que ma macro s'exécute a l'ouverture de mon fichier parceque une fois le fichier fermé,le code vba disparait. Merciii
    Grosse question, déjà tu es sous quelle version d'Excel et tu enregistre ton code VBA comment?

    Pour conserver un code VBA, une possibilité est d'enregistrer ton classeur au format .xlsm ainsi quand tu réouvrira ton classeur et avec l'aide du traditionnel alt+f11 tu retrouveras ton code VBa tel quel...
    Ensuite il est vrai que tu peux rajouter les éléments de code que t'ont fournies les personnes qui ont répondu avant moi.

  11. #11
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    C'est quoi pour toi la fonction BeepBeep, soit c'est une que tu as créer et dans ce cas c'est par là que sa coince soit tu veux parler de Beep() tout court. La fonction qui fait Beep dans Excel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Beep
    'ou alors
    Call Beep

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    Na le BeepBeep c une fonction que j'ai crée pour executer plusieurs bip simultané j'ai gribouiller j 'ai trouvez quelquechose qui marche mais le code ne marche plus quand je ferme et réouvre le fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)  
     
      If Range("G" & Target.Row) = 0 Then MsgBox "Le stock est nul", vbCritical, "ATTENTION"
      If Range("G" & Target.Row) < 0 Then MsgBox "Le stock est négatif", vbCritical, "ATTENTION"
      Beep
      Beep
    End Sub

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut
    Wep il est save en .xlsm mai il s'exécut pas. TENEZ Le file et testez for me please

  14. #14
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,
    Pas besoin du fichier ... son nom suffit et le tiens est en .xlsx !

  15. #15
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    bonjour

    Sincerement, je vois pas le problème.
    J'ai copier-coller ton code dans un classeur, j'ai tester et sa marche je ferme le classeur. Je l'enregistre en .xlsm ou .xlm pour qu'il autorise les macros. Je le ré-ouvre et sa marche parfaitement.

Discussions similaires

  1. Demande d'aide sur un code source
    Par Soward dans le forum SDL
    Réponses: 3
    Dernier message: 13/06/2007, 20h22
  2. Aide sur un code
    Par azerty974 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 11/06/2007, 13h54
  3. aide sur un code Mysql+
    Par flo1084 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 24/10/2006, 09h54
  4. [C# 1.1] Aide sur un code C# 2005
    Par Filipegomes dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/10/2006, 14h33
  5. [VB6] Aide sur un code
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/05/2006, 14h54

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