Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[HELP] Création de macro

  • Initiateur de la discussion Initiateur de la discussion Anabelle
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Anabelle

Guest
Bonjour,

je cherche à écrire un programme ma permettant de calculer des données en fonction d'informations choisies.
la feuille "Données recueillies" constitue ma base de données.
La sélection s'effectue selon les critères définis dans la feuille "Interprétations graphiques".

J'ai écrit un programme pour calculer une valeur à partir du critère de "codification". Cependant, il s'agit de mon premier programme et ca ne marche pas!!!!

Help please, si vous avez un peu de temps pour m'aider.
Bisoux
 

Pièces jointes

Re : [HELP] Création de macro

Bonjour Anabelle.

Peut-être comme ceci, à mettre dans un module général et nom dans le module de la feuille.
La codification est en colonne B et non en colonne C
Cell(x,y) n'existe pas en VBA Excel
Cells(x,y) existe
Ne pas redéclarer une variable déjà déclarée ( il y avait 2 'Dim codification')
Code:
Sub Interprétation_graphique()
    Dim codification As Long
    Dim somme_poids As Integer, Démérite As Integer, i As Integer
    Dim Indicateur_de_la_Qualité As Single
    i = 10
    Démérite = 0
    somme_poids = 0
    Indicateur_de_la_Qualité = 0
    With Sheets("Données recueillies")
        codification = .Cells(10, "B")
        While CStr(codification) <> ""
            If .Cells(i, "N") = codification Then
                somme_poids = somme_poids + .Cells(i, "Q")
                If .Cells(i, "Z") = "Oui" Then
                    Démérite = Démérite + .Cells(i, "Q")
                ElseIf CStr(codification) = "-" Then
                    Démérite = Démérite + .Cells(i, "Q")
                End If
           End If
          i = i + 1
         codification = Cells(i, "B")
        Wend
    End With
    Indicateur_de_la_Qualité = 100 - Démérite * (100 / somme_poids)
    With Sheets("Interprétations graphiques")
        .Cells(18, "C") = Démérite
        .Cells(18, "E") = Indicateur_de_la_Qualité
    End With
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
  • Question Question
Réponses
8
Affichages
950
R
Réponses
2
Affichages
1 K
Romane.
R
C
Réponses
6
Affichages
2 K
christophedb
C
P
Réponses
0
Affichages
1 K
P
K
Réponses
0
Affichages
3 K
K
J
Réponses
3
Affichages
1 K
J
J
Réponses
4
Affichages
1 K
journeydo
J
P
Réponses
1
Affichages
2 K
PierreJeanPierre
P
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…