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

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