Salut,
J'ai un problème que je n'arrive pas à résoudre avec mon code.
Dès qu'il remplit une fois la condition, il sort de la boucle.
le but de la macro est de vérifier si certains articles d'interets vont être fabriqués sur des lignes de production.
Le planning des lignes de production est généré automatiquement en format Excel.
Le numéro du produit fabriqué se trouve dans la colonne J.
Dans mon fichier initial, j'ai la liste de tous les produits pouvant être fabriqués (chaque numéro de produit se trouve dans la colonne A).
Régulièrement, j'ai besoin de savoir si certains de ces produits vont être fabriqués.
Donc dans la colonne C de mon fichier initial, je tape "a commander".
Le but de la macro est donc que dans le fichier initial, il repère les produits dont j'ai besoin et qu'ensuite, il aille consulter la feuille du planning pour voir si leur production est prévue. Et si c'est le cas, qu'il me ramène l'information dans le fichier initial.
Voila mon code (épuré), est-ce que quelqu'un y voit l'erreur ?
Sub ControleDuPlanningDUneLigne()
Dim NumeroDeVrac, NumeroAProduire, LigneDInteretDuPlanning
Dim i, j, k
Dim Contenu
Windows("Controle hebdomadaire des lignes.xls").Activate
Sheets("vrac").Select
For i = 2 To 100
If Range("C" & i) = "a commander" Then
NumeroDeVrac = Range("A" & i)
Windows("Worksheet in Basis (1)").Activate
Sheets("Sheet1").Select
For j = 2 To 200
NumeroAProduire = Range("J" & j)
If NumeroDeVrac = NumeroAProduire Then
LigneDInteretDuPlanning = Range("A" & j & ":" & "L" & j)
Windows("Controle hebdomadaire des lignes.xls").Activate
Sheets("Resultat").Select
For k = 2 To 200
If Range("A" & k) = "" Then
Range("A" & k & ":" & "L" & k) = LigneDInteretDuPlanning
k = 200
End If
Next k
End If
Next j
End If
Next i
End Sub
Je joins également une version démo de mon fichier et de la base de donnée qui est générée automatiquement (à noter que j'ai dûi l'enregistrer au format xls =>
La ligne : Windows("Worksheet in Basis (1)").Activate
est devenue : Windows("Worksheet in Basis (1).xls").Activate
Fab
J'ai un problème que je n'arrive pas à résoudre avec mon code.
Dès qu'il remplit une fois la condition, il sort de la boucle.
le but de la macro est de vérifier si certains articles d'interets vont être fabriqués sur des lignes de production.
Le planning des lignes de production est généré automatiquement en format Excel.
Le numéro du produit fabriqué se trouve dans la colonne J.
Dans mon fichier initial, j'ai la liste de tous les produits pouvant être fabriqués (chaque numéro de produit se trouve dans la colonne A).
Régulièrement, j'ai besoin de savoir si certains de ces produits vont être fabriqués.
Donc dans la colonne C de mon fichier initial, je tape "a commander".
Le but de la macro est donc que dans le fichier initial, il repère les produits dont j'ai besoin et qu'ensuite, il aille consulter la feuille du planning pour voir si leur production est prévue. Et si c'est le cas, qu'il me ramène l'information dans le fichier initial.
Voila mon code (épuré), est-ce que quelqu'un y voit l'erreur ?
Sub ControleDuPlanningDUneLigne()
Dim NumeroDeVrac, NumeroAProduire, LigneDInteretDuPlanning
Dim i, j, k
Dim Contenu
Windows("Controle hebdomadaire des lignes.xls").Activate
Sheets("vrac").Select
For i = 2 To 100
If Range("C" & i) = "a commander" Then
NumeroDeVrac = Range("A" & i)
Windows("Worksheet in Basis (1)").Activate
Sheets("Sheet1").Select
For j = 2 To 200
NumeroAProduire = Range("J" & j)
If NumeroDeVrac = NumeroAProduire Then
LigneDInteretDuPlanning = Range("A" & j & ":" & "L" & j)
Windows("Controle hebdomadaire des lignes.xls").Activate
Sheets("Resultat").Select
For k = 2 To 200
If Range("A" & k) = "" Then
Range("A" & k & ":" & "L" & k) = LigneDInteretDuPlanning
k = 200
End If
Next k
End If
Next j
End If
Next i
End Sub
Je joins également une version démo de mon fichier et de la base de donnée qui est générée automatiquement (à noter que j'ai dûi l'enregistrer au format xls =>
La ligne : Windows("Worksheet in Basis (1)").Activate
est devenue : Windows("Worksheet in Basis (1).xls").Activate
Fab