Comparaison cellule excel avec élément dans tableau
Bonjour le forum,
Je me tourne vers vous aujourd'hui pour un problème bête que je n'arrive pas à résoudre. J'ai créé un tableau à deux dimensions (5 lignes, 2 colonnes) qui stock dans la deuxième colonne des valeurs liées à une boucle que le code va chercher dans une feuille de données excel (ce sont des nombres décimaux) et dans la première colonne il stock le numéro de ligne de la feuille associé à la valeur de la deuxième colonne (entier).
Le tableau se rempli très bien mais lorsque je veux l'utiliser pour comparer la valeur d'une cellule à celle d'une des valeurs du tableau cela ne fonctionne pas. Le code s'exécute mais les résultats ne sont pas bons.
En effet, après la comparaison je lui demande si la cellule est plus petite alors tu copies la plage de données et tu sors de la boucle For...Next et si la cellule est plus grande elle est censée passer à la ligne suivante de mon tableau et recommencer la comparaison or j'ai l'impression qu'il n'arrive pas a comparer les deux valeurs. Pourtant avec une MsgBox j'ai bien vérifié que toutes les valeurs de mon tableau étaient bonnes.
Je vous joins un petit bout du code en espérant que ça suffira :) C'est la boucle For j.. qui bug
Merci d'avance.
Julie
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| Dim sNomFichierPDF As String
Dim leRep As String
Dim Neige As String
Dim Vent As String
Dim Phrase1 As String
Dim Phrase2 As String
Dim IndexNeige As Integer
Dim IndexVent As Integer
Dim IndexDim As Integer
Dim StarterNeige As Integer
Dim StarterVent As Integer
Dim StarterSurface As Integer
Dim i As Integer
Dim j As Integer
Dim TableauSurf(5, 1)
Dim Ligne As Integer
Dim Valeur As Variant
Dim Surface As Double
Dim Stable As String
Application.ScreenUpdating = False
'PRODUIT STANDARD - DESCENTES DE CHARGES VALIDEES
If Sheets("Interface").Range("M29") = "PRODUIT STANDARD - DESCENTES DE CHARGES VALIDEES" Then
If Sheets("Interface").Range("G12") <= 1665 Then
'Initialisation des parametres
Erase TableauSurf
Ligne = 0
'Detection des cas contenant les regions de neige et vent identique aux cellules D25 et D27 de l'interface
For i = 2 To 7411 Step 62
Phrase1 = Sheets("Tableaux").Range("A" & i)
StarterNeige = 19
IndexNeige = 2
StarterVent = 61
IndexVent = 1
Neige = Mid(Phrase1, StarterNeige, IndexNeige)
Vent = Mid(Phrase1, StarterVent, IndexVent)
If Neige = Sheets("Interface").Range("D27") And Vent = Sheets("Interface").Range("D25") Then
Phrase2 = Sheets("Tableaux").Range("A" & i - 1)
StarterSurface = 52
IndexDim = 4
Stable = Mid(Phrase2, StarterSurface, IndexDim)
TableauSurf(Ligne, 0) = i - 1
TableauSurf(Ligne, 1) = Stable
Ligne = Ligne + 1
End If
Next i
For j = 0 To 4
If Sheets("Interface").Range("G18") <= TableauSurf(j, 1) Then
Sheets("Tableaux").Range("A" & TableauSurf(j, 0) & ":O" & TableauSurf(j, 0) + 62).Copy
Exit For
End If
Next j
With Sheets("Tableaux").Range("AE1")
.PasteSpecial Paste:=xlPasteColumnWidths
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Application.CutCopyMode = False
End With |