Joshua1969
XLDnaute Nouveau
Bonjour,
j'ai écrit un code qui doit me permettre à partir de données rentrées sur une feuille de calcul et une plage référence, de déterminer si certaines données attendues (par rapport à la plage référence) sont manquantes.
Voici mon code
Option Explicit
Option Base 1
Sub Tournéemanquante()
Dim i As Byte
Dim j As Byte
Dim k As Byte
Dim e As Byte
Dim f As Byte
Dim g As Byte
Dim h As Byte
Dim Tabréf As Variant
Dim Tableau As Variant
Dim Résultat As Variant
Dim fintableau As Long
'se positionne sur la feuille "Janvier"
Sheets("Janvier").Select
'Donne le numéro de la dernière ligne remplie avec les données tournées
fintableau = Range("C65536").End(xlUp).Row
'Rempli le tableau avec les données du mois
Tableau = Range(Cells(7, 4), Cells(fintableau, 34))
'rempli le tableau référence
Tabréf = Range(Cells(7, 3), Cells(fintableau, 3))
'rempli le tableau résultat
ReDim Résultat((fintableau - 6), 31)
For e = 1 To 31
For f = 1 To (fintableau - 6)
Résultat(f, e) = Cells((f + 6), 3)
Next f
Next e
'Pour chercher les tournées références non remplacées qui seront inscrites dans Résultat
For k = 1 To (fintableau - 6)
For j = 1 To 31
For i = 1 To (fintableau - 6)
If Tableau(i, j) = Tabréf(k, 1) Then
Résultat(i, j) = 0
End If
Next i
Next j
Next k
' Affichage résultat en colonne
For g = 1 To 31
Dim a As Byte
For h = 1 To (fintableau - 6)
If Résultat(h, g) <> 0 And Résultat(h, g) <> "FQ" Then
a = a + 1
Cells((fintableau + a), g) = Résultat(h, g)
End If
Next h
Next g
End Sub
J'ai suivi les boucles avec des espions et alors que les valeurs attendues sont exactes, lors de la dernière boucle avec k, tout passe à zéro. Et avec la dernière boucle avec g, je passe sur une fonction codé récupérée sur le net.
Je joins mon fichier test pour ceux qui pourraient m'aider dans la compréhension et résolution du problème.
Merci d'avance
j'ai écrit un code qui doit me permettre à partir de données rentrées sur une feuille de calcul et une plage référence, de déterminer si certaines données attendues (par rapport à la plage référence) sont manquantes.
Voici mon code
Option Explicit
Option Base 1
Sub Tournéemanquante()
Dim i As Byte
Dim j As Byte
Dim k As Byte
Dim e As Byte
Dim f As Byte
Dim g As Byte
Dim h As Byte
Dim Tabréf As Variant
Dim Tableau As Variant
Dim Résultat As Variant
Dim fintableau As Long
'se positionne sur la feuille "Janvier"
Sheets("Janvier").Select
'Donne le numéro de la dernière ligne remplie avec les données tournées
fintableau = Range("C65536").End(xlUp).Row
'Rempli le tableau avec les données du mois
Tableau = Range(Cells(7, 4), Cells(fintableau, 34))
'rempli le tableau référence
Tabréf = Range(Cells(7, 3), Cells(fintableau, 3))
'rempli le tableau résultat
ReDim Résultat((fintableau - 6), 31)
For e = 1 To 31
For f = 1 To (fintableau - 6)
Résultat(f, e) = Cells((f + 6), 3)
Next f
Next e
'Pour chercher les tournées références non remplacées qui seront inscrites dans Résultat
For k = 1 To (fintableau - 6)
For j = 1 To 31
For i = 1 To (fintableau - 6)
If Tableau(i, j) = Tabréf(k, 1) Then
Résultat(i, j) = 0
End If
Next i
Next j
Next k
' Affichage résultat en colonne
For g = 1 To 31
Dim a As Byte
For h = 1 To (fintableau - 6)
If Résultat(h, g) <> 0 And Résultat(h, g) <> "FQ" Then
a = a + 1
Cells((fintableau + a), g) = Résultat(h, g)
End If
Next h
Next g
End Sub
J'ai suivi les boucles avec des espions et alors que les valeurs attendues sont exactes, lors de la dernière boucle avec k, tout passe à zéro. Et avec la dernière boucle avec g, je passe sur une fonction codé récupérée sur le net.
Je joins mon fichier test pour ceux qui pourraient m'aider dans la compréhension et résolution du problème.
Merci d'avance