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 suffiraC'est la boucle For j.. qui bug
Merci d'avance.
Julie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager