Erreur(s) de fonctionnement

Résolu/Fermé
DGVDR Messages postés 158 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 20 juillet 2015 - 8 nov. 2012 à 10:49
DGVDR Messages postés 158 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 20 juillet 2015 - 9 nov. 2012 à 10:52
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
8 nov. 2012 à 10:59
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 vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
8 nov. 2012 à 10:58
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 vendredi 10 août 2012 Statut Membre Dernière intervention 20 juillet 2015
8 nov. 2012 à 11:08
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 vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
8 nov. 2012 à 11:15
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 vendredi 10 août 2012 Statut Membre Dernière intervention 20 juillet 2015
8 nov. 2012 à 11:19
L'erreur venait en effet de là, ca marche.

Merci à vous pour l'aide.

DGVDR
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
8 nov. 2012 à 11:22
Avec plaisir DGVDR,
Pense à mettre en résolu et +1
0
DGVDR Messages postés 158 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 20 juillet 2015
8 nov. 2012 à 12:17
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 vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
8 nov. 2012 à 12:32
Verifies en colonne "D" que le caractère "C" en toujours en majuscule, sans espace ni avant ni après !
0