Ecriture de valeurs dans différents tableaux

Résolu/Fermé
Yann91445 Messages postés 9 Date d'inscription mercredi 5 février 2014 Statut Membre Dernière intervention 17 février 2014 - 10 févr. 2014 à 09:15
 Utilisateur anonyme - 10 févr. 2014 à 10:15
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.
A voir également:

2 réponses

Utilisateur anonyme
10 févr. 2014 à 09:19
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 mercredi 5 février 2014 Statut Membre Dernière intervention 17 février 2014
10 févr. 2014 à 09:43
Merci c'est bien mieux comme çà :) .
0
Utilisateur anonyme
10 févr. 2014 à 10:15
De rien :-)
0