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 :

erreur dans une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut erreur dans une macro
    Bonjour,

    je débute en création de macros et j'ai un problème avec ma première macro.

    J'essaye de comptabiliser le nombre de noms en gras et le nombre total de cellules renseignées.

    Voici la macro que j'ai écrite :

    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
     
    Sub Taux_reponse()
        Dim Cel As Range, Nbreetudiants As Integer, compteur As Integer, taux As Single
     
        compteur = 0
        For Each Cel In ActiveSheet.Range("A2:A9")
           If Cel.Font.Bold = True Then
           compteur = compteur + 1
           End If
        Next
     
        Nombreetudiants = 0
        For Each Cel In ActiveSheet.Range("A2:A9")
            If Cel.Offset(Nombreetudiants) <> "" Then
            Nombreetudiants = Nombreetudiants + 1
            End If
        Next
        taux = (compteur * 100) / Nombreetudiants
        MsgBox " le taux de réponse est : " & taux & " %"
    End Sub
    Quand je teste ma macro sur une colonne comprtant huit lignes dont 3 noms en gras, Excel me renvoie le bon nombre de noms en gras mais toujours le résultat "4" pour Nombreetudiants.

    Est-ce quelqu'un pourrait m'indiquer quelle erreur j'ai commise ?

    merci d'avance.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cel.Offset(Nombreetudiants) <> "" Then
    si les réponses des étudiant se trouve en colonne B
    il fallait mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cel.Offset(0,1) <> "" Then

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Non en fait tout se passe dans une colonne qui contient une liste de noms. Je veux tout simplement récupérer le nombre de lignes. Peut-être me suis-je compliqué la tâche...

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    élimine ta 2ème boucle et fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nombreetudiants=application.worksheetfunction.counta(range("A9:A29"))
    bien sur si tu as des cases vides entre le A9 et le A29

    sinon tu as 21 étudiants

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Merci beaucoup, avec cette instruction cela fonctionne correctement.
    Mais je n'ai quand même pas compris pourquoi c'était faux...

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

Discussions similaires

  1. Repérer une erreur dans une MACRO à l'aide de sa position
    Par JeromeMATHIAS dans le forum Macro
    Réponses: 1
    Dernier message: 15/05/2014, 10h15
  2. Traitement d'erreur dans une macro
    Par Potzo dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 14/07/2010, 08h21
  3. Réponses: 3
    Dernier message: 30/06/2010, 19h57
  4. erreur d'execution '13' dans une macro Excel lors du passage 2003->2007
    Par Bobsinglar dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/10/2008, 15h16
  5. Erreur %goto et proc sql dans une macro
    Par raf64flo dans le forum Macro
    Réponses: 15
    Dernier message: 17/04/2008, 22h40

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