Next sans for

Next sans for - VB/VBA/VBS - Programmation

Marsh Posté le 31-01-2012 à 03:24:32    

Bonjour a tous! désolé de vous déranger, mais j ai un soucis a la compilation de ma macro, notamment avec l apparition du message "next sans for"...
pardon d avance pour la non-propreté du code, je me doute qu'avec une double ou triple boucle j aurais pu y arriver, mais bon...
c est un devoir a rendre demain, donc si vous pouviez m aider....
 
Voilà le code:
 
 
Dim num_ligne As Integer
 
For num_ligne = 2 To 51
    If Cells(i, 10) = 1 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 2)
          Else
    If Cells(i, 10) = 2 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 3)
          Else
    If Cells(i, 10) = 3 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 4)
          Else
    If Cells(i, 10) = 4 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 5)
          Else
    If Cells(i, 10) = 5 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 6)
          Else
    If Cells(i, 10) = 6 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 7)
          Else
    If Cells(i, 10) = 7 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 8)
          Else
    If Cells(i, 10) = 8 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 9)
          Else
    If Cells(i, 10) = 9 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 10)
          Else
    If Cells(i, 10) = 10 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 11)
          Else
    If Cells(i, 10) = 11 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 12)
          Else
    If Cells(i, 10) = 12 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 13)
          Else
          If Cells(i, 10) = 13 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 14)
          Else
          If Cells(i, 10) = 14 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 15)
          Else
          If Cells(i, 10) = 15 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 16)
          Else
          If Cells(i, 10) = 16 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 17)
          Else
          If Cells(i, 10) = 17 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 18)
          Else
          If Cells(i, 10) = 18 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 19)
          Else
          If Cells(i, 10) = 19 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 20)
          Else
          If Cells(i, 10) = 20 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 21)
          Else
          If Cells(i, 10) = 21 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 22)
          Else
          If Cells(i, 10) = 22 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 23)
          Else
          If Cells(i, 10) = 23 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 24)
          Else
          If Cells(i, 10) = 24 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 25)
          Else
          If Cells(i, 10) = 25 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 26)
          Else
          If Cells(i, 10) = 26 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 27)
          Else
          If Cells(i, 10) = 27 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 28)
          Else
          If Cells(i, 10) = 28 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 29)
          Else
          If Cells(i, 10) = 29 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 30)
          Else
          If Cells(i, 10) = 30 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 31)
          Else
          If Cells(i, 10) = 31 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 32)
          Else
          If Cells(i, 10) = 32 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 33)
          Else
          If Cells(i, 10) = 33 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 34)
          Else
          If Cells(i, 10) = 34 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 35)
          Else
          If Cells(i, 10) = 35 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 36)
          Else
          If Cells(i, 10) = 36 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 37)
          Else
          If Cells(i, 10) = 37 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 38)
          Else
          If Cells(i, 10) = 38 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 39)
          Else
          If Cells(i, 10) = 39 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 40)
          Else
          If Cells(i, 10) = 40 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 41)
          Else
          If Cells(i, 10) = 41 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 42)
          Else
          If Cells(i, 10) = 42 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 43)
          Else
          If Cells(i, 10) = 43 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 44)
          Else
          If Cells(i, 10) = 44 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 45)
          Else
          If Cells(i, 10) = 45 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 46)
          Else
          If Cells(i, 10) = 46 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 47)
          Else
          If Cells(i, 10) = 47 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 48)
          Else
    If Cells(i, 10) = 48 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 49)
          Else
    If Cells(i, 10) = 49 Then
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 50)
          Else
            Cells(i, 11) = Worksheets("Données" )!Cells(1, 51)
    End If
Next
 
End Sub
 
 
Merci d'avance

Reply

Marsh Posté le 31-01-2012 à 03:24:32   

Reply

Marsh Posté le 31-01-2012 à 11:15:18    

bonjour,
 
dans ce cas il vaut mieux privilégier la structure suivante
select case cells(i,10).value
case 48
Cells(i, 11) = Worksheets("Données" )!Cells(1, 49)  
case 49
Cells(i, 11) = Worksheets("Données" )!Cells(1, 50)  
end case
 
essai next num-ligne mais je suis sceptique

Reply

Marsh Posté le 31-01-2012 à 12:54:35    

j ai recopié
 
Dim i As Integer
 
Select Case Cells(i, 10).Value
Case 48
Cells(i, 11) = Worksheets("Données" )!Cells(1, 49)
Case 49
Cells(i, 11) = Worksheets("Données" )!Cells(1, 50)
end case
 
et j ai un soucis au niveau du "end case" cette fois..

Reply

Marsh Posté le 31-01-2012 à 12:56:53    

Au lieu de end case, c'est

End Select

Reply

Marsh Posté le 31-01-2012 à 14:38:10    

Ca ne veut malheureusement toujours pas marcher..
Je vous mets ce qu'est entre-temps devenu ma macro:
 
Sub Affectation_camion()
 
Dim i As Integer
 
For i = 2 To 51
Select Case (Worksheets("Résultats" )!Cells(i, 10).Value)
Case 1
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 2)
Case 2
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 3)
Case 3
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 4)
Case 4
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 5)
Case 5
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 6)
Case 6
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 7)
Case 7
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 8)
Case 8
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 9)
Case 9
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 10)
Case 10
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 11)
Case 11
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 12)
Case 12
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 13)
Case 13
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 14)
Case 14
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 15)
Case 15
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 16)
Case 16
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 17)
Case 17
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 18)
Case 18
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 19)
Case 19
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 20)
Case 20
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 21)
Case 21
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 22)
Case 22
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 23)
Case 23
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 24)
Case 24
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 25)
Case 25
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 26)
Case 26
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 27)
Case 27
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 28)
Case 28
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 29)
Case 29
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 30)
Case 30
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 31)
Case 31
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 32)
Case 32
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 33)
Case 33
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 34)
Case 34
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 35)
Case 35
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 36)
Case 36
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 37)
Case 37
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 38)
Case 38
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 39)
Case 39
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 40)
Case 40
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 41)
Case 41
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 42)
Case 42
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 43)
Case 43
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 44)
Case 44
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 45)
Case 45
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 46)
Case 46
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 47)
Case 47
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 48)
Case 48
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 49)
Case 49
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 50)
Case 50
Worksheets("Résultats" )!Cells(i, 11) = Worksheets("Données" )!Cells(1, 50)
End Select
Next i
 
End Sub

Reply

Marsh Posté le 31-01-2012 à 16:51:48    

si tu remplaces les ! par des . ?!

Reply

Marsh Posté le 31-01-2012 à 17:30:08    

Aussi bête que ça puisse etre.. c etait ça :)
Merci bcp

Reply

Marsh Posté le 01-02-2012 à 11:27:44    

le principal c'est que ca marche
 
mais ca serait plus propre comme ca
 
Sub Affectation_camion()
 
Dim i As Integer
 
For i = 2 To 51
Worksheets("Résultats" ).Cells(i, 11) = Worksheets("Données" ).Cells(1, 1+ sheets("Résultats" ).cells(i,10).value)
Next i
 
End Sub

Message cité 1 fois
Message édité par 86vomito33 le 01-02-2012 à 11:28:41
Reply

Marsh Posté le 08-02-2012 à 14:33:36    

86vomito33 a écrit :

le principal c'est que ca marche
 
mais ca serait plus propre comme ca
 
Sub Affectation_camion()
 
Dim i As Integer
 
For i = 2 To 51
Worksheets("Résultats" ).Cells(i, 11) = Worksheets("Données" ).Cells(1, 1+ sheets("Résultats" ).cells(i,10).value)
Next i
 
End Sub


 :??:  
 
Je voyais plus ca comme ca :

Code :
  1. Worksheets("Résultats" ).Cells(i, 11) = Worksheets("Données" ).Cells(1, 1+ i)


 
:whistle:


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed