Erreur(s) de fonctionnement

Résolu
DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   -  
DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. Heliotte Messages postés 1561 Statut Membre 92
     
    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
  3. DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention  
     
    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. Heliotte Messages postés 1561 Statut Membre 92
       
      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. DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention  
       
      L'erreur venait en effet de là, ca marche.

      Merci à vous pour l'aide.

      DGVDR
      0
    3. Heliotte Messages postés 1561 Statut Membre 92
       
      Avec plaisir DGVDR,
      Pense à mettre en résolu et +1
      0
    4. DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention  
       
      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. Heliotte Messages postés 1561 Statut Membre 92
       
      Verifies en colonne "D" que le caractère "C" en toujours en majuscule, sans espace ni avant ni après !
      0