Bonjour,
Est-il possible d'écrire une ligne de code très longue sur plusieurs lignes ?
Si oui comment ?
Merci pour votre aide
Bonjour,
Est-il possible d'écrire une ligne de code très longue sur plusieurs lignes ?
Si oui comment ?
Merci pour votre aide
Bonjour,
Forum VBa donc
un espace à la coupure désirée, un "_" et "enter pour mettre en ligne suivante, attention de ne pas mettre après n'importe quelle instruction
exemple :
peut devenir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part .Cells(I, 2).Formula = "=if(" & .Cells(I, 1).Address & "="""","""",VLookup(" & .Cells(I, 1).Address & ", feuil1!A2:E18, 2, False))"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 .Cells(I, 2).Formula = "=if(" & .Cells(I, 1).Address & _ "="""","""",VLookup(" & .Cells(I, 1).Address & ", feuil1!A2:E18, 2, False))"
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Ah bon, résolu ?, content de t'avoir connu............
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
MDR,
Moi ton astuce m'a aidé en tant que novice en VBA
Merci pour ta réponse même avec plusieurs année de retard ;-)
Séfal
Bonjour à tous,
Je me permet de remonter le sujet car la solution proposée m'a bien aidée pour faire un retour de ligne dans le code de VBA..
Par contre, il semblerait que j'ai trop de caractère dans une seule ligne car j'obtiens un message d'erreur : "trop de caractère de continuité de ligne"..
Et je suis bloqué..
C'est vrai que mon code pourrait être un peu plus joli sans doute mais ça marche... jusqu'à 25 expressions :
Merci d'avance pour vos suggestions !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 'injection dans act Sheets("act").Cells(i, 1).Value = Sheets("mep").Cells(f, 1) _ & "," & Sheets("mep").Cells(f, 2) _ & "," & Sheets("mep").Cells(f, 3) _ & "," & Sheets("mep").Cells(f, 4) _ & "," & Sheets("mep").Cells(f, 5) _ & "," & Sheets("mep").Cells(f, 6) _ & "," & Sheets("mep").Cells(f, 7) _ & "," & Sheets("mep").Cells(f, 8) _ & "," & Sheets("mep").Cells(f, 9) _ & "," & Sheets("mep").Cells(f, 10) _ & "," & Sheets("mep").Cells(f, 11) _ & "," & Sheets("mep").Cells(f, 12) _ & "," & Sheets("mep").Cells(f, 13) _ & "," & Sheets("mep").Cells(f, 14) _ & "," & Sheets("mep").Cells(f, 15) _ & "," & Sheets("mep").Cells(f, 16) _ & "," & Sheets("mep").Cells(f, 17) _ & "," & Sheets("mep").Cells(f, 18) _ & "," & Sheets("mep").Cells(f, 19) _ & "," & Sheets("mep").Cells(f, 20) _ & "," & Sheets("mep").Cells(f, 21) _ & "," & Sheets("mep").Cells(f, 22) _ & "," & Sheets("mep").Cells(f, 23) _ & "," & Sheets("mep").Cells(f, 24) _ & "," & Sheets("mep").Cells(f, 25)![]()
Bonjour Fredjo71,
Je scinderais ta ligne en attribuant une valeur a une variable ou je ferais une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 a = Sheets("mep").Cells(f, 1) _ & "," & Sheets("mep").Cells(f, 2) _ & "," & Sheets("mep").Cells(f, 3) _ & "," & Sheets("mep").Cells(f, 4) _ b = Sheets("mep").Cells(f, 5) _ & "," & Sheets("mep").Cells(f, 6) _ & "," & Sheets("mep").Cells(f, 7) _ & "," & Sheets("mep").Cells(f, 8) _ Sheets("act").Cells(i, 1).Value = a & b
Hello
pour ma part je travaillerais avec une boucle
en fixant le nb de cellules de la ligne a "concatener"
bat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Sub Macro1() Dim sTemp As String Dim lNbCel As Long ' Nombre de Cellules à concatener lNbCel = 25 With Sheets("mep") 'f = 1 'Pour test 'i = 1 'Pour test For x = 1 To lNbCel If x < lNbCel Then 'La condition permet de ne pas ajouter la virgule a la suite de la derniere cellule sTemp = sTemp & .Cells(f, x) & "," Else sTemp = sTemp & .Cells(f, x) End If Next x Sheets("act").Cells(i, 1).Value = sTemp End With End Sub
Bonjour et merci pour vos suggestions !! j'ai finalement trouvé (la nuit porte conseil), mais j'ai utilisé une astuce ressemblant à celle de JPVBA :
J'ai l'impression que comme ceci, on évite la limite.. :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 'constitution de temp temp = Sheets("mep").Cells(f, 1) _ & "," & Sheets("mep").Cells(f, 2) _ & "," & Sheets("mep").Cells(f, 3) _ & "," & Sheets("mep").Cells(f, 4) _ & "," & Sheets("mep").Cells(f, 5) _ & "," & Sheets("mep").Cells(f, 6) _ & "," & Sheets("mep").Cells(f, 7) _ & "," & Sheets("mep").Cells(f, 8) _ & "," & Sheets("mep").Cells(f, 9) _ & "," & Sheets("mep").Cells(f, 10) _ & "," & Sheets("mep").Cells(f, 11) _ & "," & Sheets("mep").Cells(f, 12) _ & "," & Sheets("mep").Cells(f, 13) _ & "," & Sheets("mep").Cells(f, 14) _ & "," & Sheets("mep").Cells(f, 15) _ & "," & Sheets("mep").Cells(f, 16) _ & "," & Sheets("mep").Cells(f, 17) _ & "," & Sheets("mep").Cells(f, 18) _ & "," & Sheets("mep").Cells(f, 19) _ & "," & Sheets("mep").Cells(f, 20) _ & "," & Sheets("mep").Cells(f, 21) _ & "," & Sheets("mep").Cells(f, 22) _ & "," & Sheets("mep").Cells(f, 23) _ & "," & Sheets("mep").Cells(f, 24) _ & "," & Sheets("mep").Cells(f, 25) temp = temp & "," & Sheets("mep").Cells(f, 26) _ & "," & Sheets("mep").Cells(f, 27) _ & "," & Sheets("mep").Cells(f, 28) _ & "," & Sheets("mep").Cells(f, 29) _ & "," & Sheets("mep").Cells(f, 30) _ & "," & Sheets("mep").Cells(f, 31) _ & "," & Sheets("mep").Cells(f, 32) _ & "," & Sheets("mep").Cells(f, 33) _ & "," & Sheets("mep").Cells(f, 34) _ & "," & Sheets("mep").Cells(f, 35)
Partager