robby98800
Messages postés64Date d'inscriptionmardi 29 mai 2012StatutMembreDernière intervention27 juillet 2012
-
27 juin 2012 à 07:20
robby98800
Messages postés64Date d'inscriptionmardi 29 mai 2012StatutMembreDernière intervention27 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.
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.
robby98800
Messages postés64Date d'inscriptionmardi 29 mai 2012StatutMembreDernière intervention27 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 !
robby98800
Messages postés64Date d'inscriptionmardi 29 mai 2012StatutMembreDernière intervention27 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,
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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
Vous n’avez pas trouvé la réponse que vous recherchez ?