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 :

Classer des âges par tranches d'âges via un code VBA - Erreur 1004 [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Classer des âges par tranches d'âges via un code VBA - Erreur 1004
    Bonjour,

    Dans le cadre d'un projet informatique à l'université, il nous a été demandé de coder en VBA sur excel en vue de produire des analyses statistiques à partir de données (que nous avons purement inventées) d'Access.
    Le codage en VBA est quelque chose de nouveau pour moi, donc il se peut que le problème ne soit pas trop compliqué à résoudre.

    J'ai crée une feuille Excel dans laquelle j'ai calculé l'âge des personnes fictive de mon projet. Ensuite, j'ai voulu, avec un code, classer ces âges (34 ans, 18 ans, 62 ans ...) dans un tableau qui se divise par tranche d'âge :

    A26 Tranche d'âge : B26 Nbre de personnes :
    A27 18-25 ans
    A28 26-35 ans
    A29 36-45 ans
    A30 45-55 ans
    A31 55-100 ans

    J'aimerais que mon code regarde chaque valeur et la classe dans mon tableau pour que je puisse savoir à la fin qu'elle est la tranche d'âge la plus volumineuse.
    Mes valeurs "Âge" sont de (C4:C24) et les valeurs de mon tableau doivent s'inscrire dans A27, A28, A29, A30, A31.

    Malheureusement, le message d'erreur "Erreur d'exécution 1004. Erreur définie par l'application ou par l'objet" apparaît quand je lance le code.
    Le voici :

    ---

    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
    Sub Public_Cible()
     
        For i = 4 To 24
        agei = Range("C" & i).Value
     
            If 18 <= agei <= 25 Then
            Range(B27).Value = Range(B27).Value + 1
     
            ElseIf 26 <= agei <= 35 Then
            Range(B28).Value = Range(B28).Value + 1
     
            ElseIf 36 <= agei <= 45 Then
            Range(B29).Value = Range(B29).Value + 1
     
            ElseIf 45 <= agei <= 55 Then
            Range(B30).Value = Range(B30).Value + 1
     
            ElseIf 56 <= agei <= 100 Then
            Range(B31).Value = Range(B31).Value + 1
     
            End If
     
        Next i
     
     
    End Sub
    ---
    Désolée, je suis nouvelle sur le forum, en espérant pouvoir trouver l'erreur de ce code... S'il faut le moindre screenshot (je ne sais pas si c'est ok par rapport aux règles du forum), vous pouvez me le demander.
    Dans l'espoir qu'un(e) magicien(ne) des codes puisse éclairer mon chemin

    Bien à vous et bonne soirée,
    Estriny

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir.

    Tu peux essayer de remplacer partout par Cordialement,

    PGZ

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    Et change ta méthode de condition. On n'est pas en C ou Java...
    If 18 <= agei <= 25 Then
    Plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If agei >=18 and agei <= 25 Then
    Ça aurait aussi pu se faire avec formules...

  4. #4
    Expert éminent sénior


    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
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par parmi Voir le message
    Bonjour,

    Et change ta méthode de condition. On n'est pas en C ou Java...


    Plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If agei >=18 and agei <= 25 Then
    Ça aurait aussi pu se faire avec formules...
    c'est pas pareil en C et java ?

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Merci ! Le code fonctionne !
    Après avoir fait toutes les rectifications que vous m'aviez conseillées, le code fonctionne ! Je vous suis extrêmement reconnaissante car c'est mon " 1er code en VBA" "toute seule" qui donne le résultat escompté
    Merci en tout cas de vos réponses, passez une très bonne soirée

    Estriny

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

Discussions similaires

  1. Affichage par tranche d'âges
    Par reglis59 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/01/2010, 13h42
  2. Classer des personnes par tranche d'âge
    Par ratatam25 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/01/2009, 23h40
  3. [MySQL] Classer des résultats par ordre alphabétique
    Par Him dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/07/2006, 14h59
  4. Récupérer des enregistrements par tranche horaire
    Par olive_le_malin dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 19/05/2006, 16h53
  5. Classer des messages par date ET par pertinence
    Par pocpoc2 dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/07/2005, 10h54

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