Ecriture de valeurs dans différents tableaux

Résolu
Yann91445 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour
j'ai écrit une macro VBA qui doit écrire des valeurs dans différents tableaux sous certaines conditions. Si la valeur de la colonne A est compris dans un certain intervalle elle doit écrire la valeur de la colonne B (C, D) dans un tableau bien défini.

Le problème est que la macro écrit les mêmes valeurs dans tous les tableaux.

Voici mon code :
Sub Tab_contraintes()

Dim i As Long
Dim ligne As Long

Dim TabCoq1(), TabCoq2(), TabCoq3() As Long
Dim TabCor1(), TabCor2(), TabCor3() As Long
Dim TabBS1(), TabBS2(), TabBS3() As Long
Dim TabRaid1(), TabRaid2(), TabRaid3() As Long

With Worksheets("Contraintes")

ligne = .Columns("A").Find("*", , , , , xlPrevious).Row

ReDim TabCoq1(ligne), TabCoq2(ligne), TabCoq3(ligne)
ReDim TabCor1(ligne), TabCor2(ligne), TabCor3(ligne)
ReDim TabBS1(ligne), TabBS2(ligne), TabBS3(ligne)
ReDim TabRaid1(ligne), TabRaid2(ligne), TabRaid3(ligne)

For i = 2 To ligne

If 111000 < Cells(i, 1) < 130000 Then

TabCoq1(i - 2) = Cells(i, 2)
TabCoq2(i - 2) = Cells(i, 3)
TabCoq3(i - 2) = Cells(i, 4)

End If

If 590000 < Cells(i, 1) < 600000 Then

TabCor1(i - 2) = Cells(i, 2)
TabCor2(i - 2) = Cells(i, 3)
TabCor3(i - 2) = Cells(i, 4)

End If

If 620000 < Cells(i, 1) < 630000 Then

TabBS1(i - 2) = Cells(i, 2)
TabBS2(i - 2) = Cells(i, 3)
TabBS3(i - 2) = Cells(i, 4)

End If

If 800000 < Cells(i, 1) < 830000 Then

TabRaid1(i - 2) = Cells(i, 2)
TabRaid2(i - 2) = Cells(i, 3)
TabRaid3(i - 2) = Cells(i, 4)

End If

Next

End With

End Sub


Je commence à partir de la ligne 2 de la feuille à traiter.

Merci à vous.

2 réponses

Utilisateur anonyme
 
Bonjour

      If 111000 < Cells(i, 1) < 130000 Then

Cette condition ne fait certainement pas le test que tu crois. Il faut écrire
      If (111000 < Cells(i, 1)) and  (Cells(i, 1) < 130000) Then
0
Yann91445 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci c'est bien mieux comme çà :) .
0
Utilisateur anonyme
 
De rien :-)
0