Salut tout le monde,
Un petit souci il me semble avec la commande Controls... J'ai mis l'ensemble du code ci dessous, avec un paquet de retours ne servants théoriquement à rien mais m'ayant "aidé" à tenter de trouvé l'erreur...
En gros, le principe :
Je dois regrouper des codes comptables avec un code de regroupement, pour pouvoir traiter tout ça simplement avec du Excel.
Pour ce faire, j'ai créé un form qui recense tous les codes comptables (les "Code" & i), et pour chaque code je lui attribue un code de regroupement (les "Group" & i)
Jusque là ça marchait pas si mal.
Ensuite, une fois le form validé, la macro doit remplir le tableau avec les regroupements demandés.
Donc il faut parcourir tous les codes du tableau (colonne B à partir de la ligne 41), et à chaque code rencontré (Code_a) on parcourt les codes du formulaire ("Code" & i) pour retrouver et remplir la cellule ("A" & Ligne) avec le regroupement demandé ("Group" & i)
C'est à ce moment précis que ça ne fonctionne pas...
If Controls("Code" & i).Value = Code_a Then
Cette ligne ne marchant pas, je l'ai donc remplacée par un horrible
1 2 3
| Range("B19").Value = Code_a
Range("C19").Value = Controls("Code" & i).Value
If Range("C19").Value = Code_a Then |
Afin d'avoir quand même un truc qui marche... Mais c'est moche et surtout très lent.... Et ce que je ne comprends pas c'est que quand je mets la valeur Controls("Code" & i) dans une cellule et que je la teste avec le If ça marche, et quand j’intègre le test If avec le Controls ça ne marche plus... En plus j'avais réussi à faire marcher un code de ce type la semaine derniere
... Qqn a une idée de ce qui est surement gros comme une maison devant mon nez ??
Mon code complet :
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
|
Sheets("Exploit Quadra").Activate
ligne = Sheets("Exploit Quadra").Range("A41").Row
Do
Range("A19").Value = ""
Range("B19").Value = ""
Range("C19").Value = ""
Range("D19").Value = ""
Code_a = Sheets("Exploit Quadra").Range("B" & ligne).Value
For i = 1 To 30 'NB CODES RECUPERABLES ACTUELLEMENT
Range("A19").Value = ligne
Range("B19").Value = Code_a
Range("C19").Value = Controls("Code" & i).Value
'MsgBox "ligne = " & ligne & " / Code_a = " & Code_a & " / i = " & i & " / Code = " & Controls("Code" & i).Value & " / Groupe = " & Controls("Group" & i).Value
If Code_a = "" Then
MsgBox "Fin des regroupements"
GoTo Fin_de_boucle:
End If
'If Controls("Code" & i).Value = Code_a Then
If Range("C19").Value = Code_a Then
Range("D19").Value = "OK"
Sheets("Exploit Quadra").Range("A" & ligne).Value = Controls("Group" & i).Value
GoTo Code_suivant
End If
Next i
Code_suivant:
ligne = ligne + 1
Loop
Fin_de_boucle:
Range("A19").Value = ""
Range("B19").Value = ""
Range("C19").Value = ""
Range("D19").Value = "" |
Partager