Erreur dans le code (sortie de boucles)

  • Initiateur de la discussion Initiateur de la discussion Fab117
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Fab117

XLDnaute Impliqué
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
 

Pièces jointes

Re : Erreur dans le code (sortie de boucles)

Bonjour,

Dans ce que j'ai pu voir tu change de classeur par Activate.

tu choisi un code, et ensuite tu vas dans worksheet in basis voire si tu le trouves.
Ensuite tu pense charcher le code suivant alors que tu ne reviens pas dans le classeur initial controle hebdo.
Il te manque une ligne controlehebdo.activate entre

If Range("C" & i) = "a commander" Then ' condition pour qu'il recherche CE numéro
----------ICI------------
NumeroDeVrac = Range("A" & i)


Voila rapidement, je ne sais pas si il y a d'autres soucis...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
599
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
9
Affichages
385
Réponses
2
Affichages
407
Retour