Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2189 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Next sans for

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Next sans for

n°2124044
ghenassiag
Posté le 31-01-2012 à 03:24:32  profilanswer
 

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

mood
Publicité
Posté le 31-01-2012 à 03:24:32  profilanswer
 

n°2124091
86vomito33
Posté le 31-01-2012 à 11:15:18  profilanswer
 

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

n°2124117
ghenassiag
Posté le 31-01-2012 à 12:54:35  profilanswer
 

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..

n°2124118
billgatesa​nonym
Normand, ex-Parisien.
Posté le 31-01-2012 à 12:56:53  profilanswer
 

Au lieu de end case, c'est

End Select

n°2124149
ghenassiag
Posté le 31-01-2012 à 14:38:10  profilanswer
 

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

n°2124207
86vomito33
Posté le 31-01-2012 à 16:51:48  profilanswer
 

si tu remplaces les ! par des . ?!

n°2124223
ghenassiag
Posté le 31-01-2012 à 17:30:08  profilanswer
 

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

n°2124311
86vomito33
Posté le 01-02-2012 à 11:27:44  profilanswer
 

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
n°2125410
SuppotDeSa​Tante
Aka dje69r
Posté le 08-02-2012 à 14:33:36  profilanswer
 

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 !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Next sans for

 

Sujets relatifs
free() invalid next size(fast)Travail sur les tableaux (next, prev, current ...)
Condition If...End if à l'intérieur d'une boucle For...Nextcomment passer a next line when reader.read
VB6 / Message d'erreur : Next sans For dans boucle imbriquées, HELP!!explication de next if , tie , unpack
Boutons next et previousFaire tourner trois boucle for next en même temps ...?
*** glibc detected *** free(): invalid next size (fast)recuperer l'id auto_incremente du next enregistrement à insrerer
Plus de sujets relatifs à : Next sans for


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)