Erreur(s) de fonctionnement

Résolu
Bonjour,

Après plusieurs essais de correction, je m'en réfère à vous.

Mon code ayant pour but :

- De comparer ligne par ligne le tableau de la feuille 3.
En fonction du Texte de la colonne C et de l'indice de la colonne D, d'incrémenter différentes cases de la feuille 1, voici le code créer :

 Sub graph()

Dim l As Integer 'Variable comparatrice'
Dim m As Integer ' Variable Tireuse'
Dim n As Integer ' Variable Rinceuse'
Dim o As Integer 'Variable pasteurisateur'


m = 0
n = 0
o = 0

For l = 3 To 100

If Range("C" & l) = "Tireuse" And Range("D" & l) = C Then 
 m = m + 1 

ElseIf Range("C" & l) = "Rinceuse" And Range("D" & l) = C Then 
 n = n + 1 

ElseIf Range("C" & l) = "Pasteurisateur" And Range("D" & l) = C Then
o = o + 1 

Worksheets("Global").Range("F3") = m
Worksheets("Global").Range("C3") = n
Worksheets("Global").Range("I3") = o


End If
Next
End Sub 


Ce code n'incrémentant pas les cases de la feuille 1.

Si quelqu'un voit le(s) problème(s),

Merci d'avance,
DGVDR

3 réponses

  1. Bonjour,

    Ce code n'incrémentant pas les cases de la feuille 1.

    Vous parler de feuille1 et feuille3, mais dans votre code il y a seulement une feuille "Global".

    Donnez les infos:
    En fonction du Texte de la colonne C et de l'indice de la colonne D------>nom de la feuille

    d'incrémenter différentes cases de la feuille 1,------>nom de la feuille

    merci
    2
    1. Bonjour DGVDR,
      Nulle part dans ton code tu ne t'adresse à la feuille 1 ou feuille 3 !
      L'unique feuille à laquelle tu t'adresse est Worksheets("Global")
      1
      1. Merci à vous,

        Suite à vos remarques j'ai modifié le code, sans succès... :

        Sub graph()
        
        Dim l As Integer 'Variable comparatrice'
        Dim m As Integer ' Variable Tireuse'
        Dim n As Integer ' Variable Rinceuse'
        Dim o As Integer 'Variable pasteurisateur'
        
        
        m = 0
        n = 0
        o = 0
        
        For l = 3 To 100
        
        If Worksheets("Enregistrements interventions").Range("C" & l) = "Tireuse" And Worksheets("Enregistrements interventions").Range("D" & l) = C Then 'Comparaison effectué sur la feuille 3'
         m = m + 1 '
        ElseIf Worksheets("Enregistrements interventions").Range("C" & l) = "Rinceuse" And Worksheets("Enregistrements interventions").Range("D" & l) = C Then 'Comparaison effectué sur la feuille 3'
         n = n + 1
        ElseIf Worksheets("Enregistrements interventions").Range("C" & l) = "Pasteurisateur" And Worksheets("Enregistrements interventions").Range("D" & l) = C Then 
        o = o + 1 
        
        Worksheets("Global").Range("F3") = m
        Worksheets("Global").Range("C3") = n
        Worksheets("Global").Range("I3") = o
        
        
        End If
        Next
        End Sub
        
        


        DGVDR
        0
        1. Dans la comparaison, Qu'est-ce que ta variable "C", car il s'agit bien d'une variable puisqu'elle n'est pas entourée de guillemets.
          Je le dit bien souvent que pour voir les erreurs dû aux variables non déclarée ni initialisées, il faut impérativement ajouté en début de chaque feuille de code la ment "OPTION EXPLICIT"
          0
        2. L'erreur venait en effet de là, ca marche.

          Merci à vous pour l'aide.

          DGVDR
          0
        3. Avec plaisir DGVDR,
          Pense à mettre en résolu et +1
          0
        4. Je me permets d'enlever le [Résolu], car je rencontre un autre problème.

          Récapitulatif : mon objectif étant de parcourir les lignes 3 à 100 de mon tableau feuille 3
          et selon ce que l'on trouve dans les case C et D d'incrémenter des cases feuilles 1.

          Or ma boucle fonctionne très bien pour "analyser" les 21 premières lignes du tableau, mais n'incrémente plus après.

          Je ne sais pas pourquoi....

          Mon code :

          Sub graph()
          
          Dim l As Integer 'Variable comparatrice'
          Dim m As Integer ' Variable Tireuse'
          Dim n As Integer ' Variable Rinceuse'
          Dim o As Integer 'Variable pasteurisateur'
          
          m = 0
          n = 0
          o = 0
          
          
          
          For l = 3 To 100
          
          If Worksheets("Enregistrements interventions").Range("C" & l) = "Tireuse" And Worksheets("Enregistrements interventions").Range("D" & l) = "C" Then 
           m = m + 1 
          
          ElseIf Worksheets("Enregistrements interventions").Range("C" & l) = "Rinceuse" And Worksheets("Enregistrements interventions").Range("D" & l) = "C" Then 
           n = n + 1
          
          ElseIf Worksheets("Enregistrements interventions").Range("C" & l) = "Pasteurisateur" And Worksheets("Enregistrements interventions").Range("D" & l) = "C" Then 
          o = o + 1 '
          
          
           
           
          Worksheets("Global").Range("F3") = m
          Worksheets("Global").Range("C3") = n
          Worksheets("Global").Range("I3") = o
          
          End If
          Next
          
          End Sub
          
          0
        5. Verifies en colonne "D" que le caractère "C" en toujours en majuscule, sans espace ni avant ni après !
          0