pier0
Messages postés67Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 2 septembre 2005
-
10 août 2005 à 17:11
pier0
Messages postés67Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 2 septembre 2005
-
19 août 2005 à 14:28
Bonjour,
J'ai une petite question sur la syntaxe VB.
En fait j'ai écris une ligne de commande qui est très longue et prend plus de place que la largeur d'une feuille d'une module.
Je voulais juste savoir comment je pouvait passer à la ligne au milieu d'une instruction.
J'ai une petite idée (avec le _) mais je suis pas sure:
If (((Worksheets("Résultats de comparaison").Cells(i, circ).Value "Empty") Or (Worksheets("Résultats de comparaison").Cells(i, circ).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(i, circ).Value = "Completed")) And ....... Then
deviendrait
If (((Worksheets("Résultats de comparaison").Cells(i, circ).Value "Empty"),_ Or (Worksheets("Résultats de comparaison").Cells(i, circ).Value "Not Required"),_
Or (Worksheets("Résultats de comparaison").Cells(i, circ).Value = "Completed")),_
And ....... Then
********************************************************************************
Est ce que ca peut marcher???????????????????????????????
Merci à l'ame charitable volant à mon secours!
Pier0
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 10 août 2005 à 18:04
comme le dit Dark, et comme tu le supposais, c'est bien l'underscore ("_") précédé d'un espace (et sans virgule, sauf besoin de VBA, je connais pas là...).
cependat, tu est limité en nombre. sous réserve, mais je crois que tu ne peux pas faire une ligne avec plus de 8 "retour à la ligne" de cette manière...
essaie de voir si tu ne peux pas mettre certaines valeurs en variables
exemple, un msgbox d'une 20è de lignes :
TiersA = "blablabla d'un des tiers..." & vbcrlf & _
"suite, etc......., plein de lignes partout" & _
"suite, etc......., plein de lignes partout" & _
"suite, etc......., plein de lignes partout" & _
"suite, etc......., plein de lignes partout" & _
vbcrlf & "=====================" & vbcrlf
TiersB = TiersA
TiersC = TiersA & "fin"
msgbox tiersa & tiersb & tierc, 32, "Test"
je sais pas si tu vois ou je veux en venir....
dans ton exemple, en 2 ou 3 lignes, c'est lisible. si il n'est qu'en partie, je te conseillerais donc d'essayer de remplacer les conditions de Worksheets(BLABLA) par une variable....
'=============================================
If ( _
((Worksheets("Résultats de comparaison").Cells(i, circ).Value = "Empty") _
Or _
(Worksheets("Résultats de comparaison").Cells(i, circ).Value = "Not Required") _
Or _
(Worksheets("Résultats de comparaison").Cells(i, circ).Value = "Completed")) _
And _
(autres conditions.......) _
) Then
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 août 2005 à 23:10
Salut
Tout ça est bien répondu et en détail !
Juste pour ajouter mon grain de sel, pour dire qu'une instruction trop longue est souvent une mauvaise idée. Il y a forcement une autre manière de faire :
Select Case Worksheets("Résultats de comparaison").Cells(i, circ).Value
Case "Empty", "Not Required", "Completed"
' L'un de ces texte est dans la cellule
Case Else
' Sinon, c'est autre chose ...
End Select
Ou encore :
Dim Valeur As String
Valeur = Worksheets("Résultats de comparaison").Cells(i, circ).Value
If Valeur = "Empty" Or _
Valeur = "Not Required" Or _
Valeur = "Completed" Then
' C'est pareil
End If
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
pier0
Messages postés67Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 2 septembre 2005 19 août 2005 à 14:28
Nan on peut faire une ligne avec plus de de 8 retour à la ligne!
j'ai fait un test avec un if fonctionnant avec 17 lignes (16 passages à la ligne ) et j'ai bien pu vérifier que les conditions des 17 lignes devaient etre validées pour que l'instruction après le if puisse etre validée! donc un if avec 17 lignes ca marche!
*******************************************************************************
mon exemple:
If (((Worksheets("Résultats de comparaison").Cells(10, circ).Value Empty) Or (Worksheets("Résultats de comparaison").Cells(10, circ).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, circ).Value = "Cct Order Issued")) And _
((Worksheets("Résultats de comparaison").Cells(10, jmp).Value Empty) Or (Worksheets("Résultats de comparaison").Cells(10, jmp).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, jmp).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, fibra).Value Empty) Or (Worksheets("Résultats de comparaison").Cells(10, fibra).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, fibra).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, fibrb).Value Empty) Or (Worksheets("Résultats de comparaison").Cells(10, fibrb).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, fibrb).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, civa).Value Empty) Or (Worksheets("Résultats de comparaison").Cells(10, civa).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, civa).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, civb).Value Empty) Or (Worksheets("Résultats de comparaison").Cells(10, civb).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, civb).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 40).Value "Paris") Or (Worksheets("Résultats de comparaison").Cells(10, 40).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 40).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 41).Value "1") Or (Worksheets("Résultats de comparaison").Cells(10, 41).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 41).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 42).Value "2") Or (Worksheets("Résultats de comparaison").Cells(10, 42).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 42).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 43).Value "3") Or (Worksheets("Résultats de comparaison").Cells(10, 43).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 43).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 44).Value "4") Or (Worksheets("Résultats de comparaison").Cells(10, 44).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 44).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 45).Value "5") Or (Worksheets("Résultats de comparaison").Cells(10, 45).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 45).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 46).Value "6") Or (Worksheets("Résultats de comparaison").Cells(10, 46).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 46).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 47).Value "7") Or (Worksheets("Résultats de comparaison").Cells(10, 47).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 47).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 48).Value "8") Or (Worksheets("Résultats de comparaison").Cells(10, 48).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 48).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, 49).Value "9") Or (Worksheets("Résultats de comparaison").Cells(10, 49).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, 49).Value = "Completed")) And _
((Worksheets("Résultats de comparaison").Cells(10, intern).Value Empty) Or (Worksheets("Résultats de comparaison").Cells(10, intern).Value "Not Required") Or (Worksheets("Résultats de comparaison").Cells(10, intern).Value = "Completed"))) Then
MsgBox ("circ=") & Worksheets("Résultats de comparaison").Cells(10, circ).Value
Else
MsgBox ("non!")
End If
*******************************************************************************
Merci et @+, Pier0
Vous n’avez pas trouvé la réponse que vous recherchez ?