Boucle For Next imbriquée

Résolu
robby98800 Messages postés 64 Date d'inscription mardi 29 mai 2012 Statut Membre Dernière intervention 27 juillet 2012 - 27 juin 2012 à 07:20
robby98800 Messages postés 64 Date d'inscription mardi 29 mai 2012 Statut Membre Dernière intervention 27 juillet 2012 - 22 juil. 2012 à 23:58
Bonjour à tous,

j'ai fait une macro qui compare d'abord une cellule d'une colonne à une autre et qui compare ensuite (si la 1ere condition est bonne) une autre cellule d'une autre colonne à 2 autres(la valeur dans la 1ere doit être encadré par les 2 valeurs dans les deux autres). Si toutes les conditions sont remplis on écrit dans une cellule, sinon on incrémentre la boucle.

C'est assez compliqué à s'en faire une image je vous met en pièce jointe un exemple : http://cjoint.com/?0FBhtQ6Ssmj

La macro ressemble à ca :
Sub position()
For i = 2 To Sheets(2).Range("C" & Rows.Count).End(xlUp).Row
    For j = 2 To Sheets(3).Range("A" & Rows.Count).End(xlUp).Row
    
        If Sheets(2).Range("C" & i) = Sheets(3).Range("A" & j) Then
            If Sheets(2).Range("F" & i) >= Sheets(3).Range("B" & j) And Sheets(2).Range("F" & i) <= Sheets(3).Range("C" & j) Then
                Sheets(2).Range("G" & i) = "couche"
            Else: Sheets(2).Range("G" & i) = ""
            End If
    Next j
        
        End If
    Next j

Next i
        
    
End Sub


Le problème est que j'obtiens l'erreur : erreur de compilation Next sans For à la ligne du premier Next j.

Merci de votre aide !

86 réponses

robby98800 Messages postés 64 Date d'inscription mardi 29 mai 2012 Statut Membre Dernière intervention 27 juillet 2012
12 juil. 2012 à 12:57
Okay entendu.
Certes les conditions sont forcément croisées mais c'est la nature même du problème que je dois traiter. La forme et le contenu de la feuille Maxituo m'a été imposé donc je ne pourrai pas faire de modification sur celle-ci.
En revanche sur la Fiche_machine j'ai carte blanche. C'est vrai qu'il y a par exemple un problème qui est que sous les "GEV en fonctionnement", "GEV debout arrêtée" etc.. j'ai laissé 3 lignes pour que les actions soit au même niveau que les conditions.
- Une autre solution pourrait être de mettre les actions à mener dans différentes colonnes au lieu de différentes lignes pour éviter le problème énoncé juste avant. (seul problème la fiche_machine est amenée a être imprimée, et sous cette forme ça risque de ne pas rentrer. Après je peux toujours mettre un autre onglet ou je reprend les cellules en lignes avec une simple égalité de cellule...)
- Pour palier toujours ce même problème, j'avais pensé à fusionner les cellules "GEV ..." plus 3 lignes en dessous et "Todolist..." plus 3 lignes en dessous. Dans ce cas là, il faudrait incrémenter la boucle qui agit sur ces deux colonnes en step 4 et la boucle pour la colonne des actions à mener à step 1. Bref ça me paraissait compliqué !

Je vais y réfléchir demain, et je te dirait. A vrai dire pour accélérer l'exécution, je ne pense pas que le problème majeur puisse être résolu, à savoir que les conditions sont croisées.
Finalement que l'éxécution soit longues ne me gène pas tellement du temps que le résultat est bon !

Je t'en reparle demain,

Bonne journée
0
robby98800 Messages postés 64 Date d'inscription mardi 29 mai 2012 Statut Membre Dernière intervention 27 juillet 2012
13 juil. 2012 à 09:55
Bonjour,

J'ai changé la conception du tableau. Il y aurait comme cala moins de boucle à faire mais la programmation serait surement plus complexe. A toi de voir lequel t'arrange le mieux, pour ma part peu importe lequel tu choisis je m'adapterai au critère de conception et temps d'éxécution, pas de souci.
http://cjoint.com/?0Gnj27TYeC8
Merci pour ton aide,

Robin
0
robby98800 Messages postés 64 Date d'inscription mardi 29 mai 2012 Statut Membre Dernière intervention 27 juillet 2012
17 juil. 2012 à 07:31
Bonjour ucfoutu,

Je viens aux nouvelles, est ce que tu t'en sors avec toutes ces conditions entremêlées?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 juil. 2012 à 07:51
Pas eu le temps de m'y repencher (travaux de rénovation en cours). Je ne pourrai m'y remettre avant vendredi prochain.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
robby98800 Messages postés 64 Date d'inscription mardi 29 mai 2012 Statut Membre Dernière intervention 27 juillet 2012
17 juil. 2012 à 11:10
Okay ça marche, bon courage pour les travaux alors.
0
robby98800 Messages postés 64 Date d'inscription mardi 29 mai 2012 Statut Membre Dernière intervention 27 juillet 2012
22 juil. 2012 à 23:58
Bonjour ucfoutu, juste pour info je suis arrivé à faire la macro. Je te remercie pour ton aide.
A la prochaine
0
Rejoignez-nous