Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 retour a la ligne vba

Quicksland

XLDnaute Occasionnel
Bonsoir le forum

Petit soucis retour a la ligne dans ma macro

La deuxième ligne passe au rouge (I49:I51.....)

VB:
Private Const AdressePlagesSaisie = "I2:I4,D5:E6,I5:I6,F7:I8,H9:I10,H11:I12,D21:G21,Q2:Q4,L5:M6,Q5:Q6,N7:Q8,P9:Q10,P11:Q12,L21:O21,Y2:Y4,T5:U6,Y5:Y6,V7:Y8,X9:Y10,X11:Y12,T21:W21,AG2:AG4,AB5:AC6,AG5:AG6,AD7:AG8,AF9:AG10,AF11:AG12,AB21:AE21 _ "
"I49:I51,D52:E53,I52:I53,F54:I55,H56:I57,H58:I59,D68:G68,Q49:Q51,L52:M53,Q52:Q53,N54:Q55,P56:Q57,P58:Q59,L68:O68,Y49:Y51,T52:U53,Y52:Y53,V54:Y55,X56:Y57,X58:Y59,T48:W48,AG49:AG51,AB52:AC53,AG52:AG53,AD54:AG55,AF56:AG57,AF58:AG59,AB68:AE68 "

Merci pour l'aide
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Quicksland,
Le plus simple est de concaténer deux chaines :
VB:
Private Const AdressePlagesSaisie = "I2:I4,D5:E6,I5:I6,F7:I8,H9:I10,H11:I12,D21:G21,Q2:Q4,L5:M6,Q5:Q6,N7:Q8,P9:Q10,P11:Q12,L21:O21,Y2:Y4,T5:U6,Y5:Y6,V7:Y8,X9:Y10,X11:Y12,T21:W21,AG2:AG4,AB5:AC6,AG5:AG6,AD7:AG8,AF9:AG10,AF11:AG12,AB21:AE21" & _
"I49:I51,D52:E53,I52:I53,F54:I55,H56:I57,H58:I59,D68:G68,Q49:Q51,L52:M53,Q52:Q53,N54:Q55,P56:Q57,P58:Q59,L68:O68,Y49:Y51,T52:U53,Y52:Y53,V54:Y55,X56:Y57,X58:Y59,T48:W48,AG49:AG51,AB52:AC53,AG52:AG53,AD54:AG55,AF56:AG57,AF58:AG59,AB68:AE68 "
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Si ça fonctionne de la même façon pour la déclaration d'une constante que pour une ligne de code, alors il faut enlever le guillemet en trop en fin de ligne et pareil en début de ligne. Mais ça ne semble pas fonctionner...

Si tu concatènes deux chaînes, il ne faut pas oublier la virgule à la fin de la première chaîne.


Mais quelle idée aussi... pourquoi écrire ça sur deux lignes ???
 

job75

XLDnaute Barbatruc
Bonsoir Quicksland, sylvanu, Marcel32,

Dans un Range le texte de l'adresse ne doit pas dépasser 255 caractères, donc utiliser :
VB:
Private Const AdressePlagesSaisie1 = "I2:I4,D5:E6,I5:I6,F7:I8,H9:I10,H11:I12,D21:G21,Q2:Q4,L5:M6,Q5:Q6,N7:Q8,P9:Q10,P11:Q12,L21:O21,Y2:Y4,T5:U6,Y5:Y6,V7:Y8,X9:Y10,X11:Y12,T21:W21,AG2:AG4,AB5:AC6,AG5:AG6,AD7:AG8,AF9:AG10,AF11:AG12,AB21:AE21"
Private Const AdressePlagesSaisie2 = "I49:I51,D52:E53,I52:I53,F54:I55,H56:I57,H58:I59,D68:G68,Q49:Q51,L52:M53,Q52:Q53,N54:Q55,P56:Q57,P58:Q59,L68:O68,Y49:Y51,T52:U53,Y52:Y53,V54:Y55,X56:Y57,X58:Y59,T48:W48,AG49:AG51,AB52:AC53,AG52:AG53,AD54:AG55,AF56:AG57,AF58:AG59,AB68:AE68"

Sub Test()
Union(Range(AdressePlagesSaisie1), Range(AdressePlagesSaisie2)).Select
End Sub
Bonne nuit
 

job75

XLDnaute Barbatruc
Bonjour le forum,
J'avais regardé avant de répondre tout à l'heure, et chez moi ça avait l'air de s'arrêter à 249 caractères.
Allons teste bien, ceci (256) ne passe pas :
VB:
Private Const AdressePlagesSaisie = "I2:I4,D5:E6,I5:I6,F7:I8,H9:I10,H11:I12,D21:G21,Q2:Q4,L5:M6,Q5:Q6,N7:Q8,P9:Q10,P11:Q12,L21:O21,Y2:Y4,T5:U6,Y5:Y6,V7:Y8,X9:Y10,X11:Y12,T21:W21,AG2:AG4,AB5:AC6,AG5:AG6,AD7:AG8,AF9:AG10,AF11:AG12,AB21:AE21" & _
",I49:I51,D52:E53,I52:I53,F54:I55,H56:I57,H58:I59,D68:G6"

Sub Test()
MsgBox Len(AdressePlagesSaisie)
Range(AdressePlagesSaisie).Select
End Sub
alors que ceci (255) passe :
VB:
Private Const AdressePlagesSaisie = "I2:I4,D5:E6,I5:I6,F7:I8,H9:I10,H11:I12,D21:G21,Q2:Q4,L5:M6,Q5:Q6,N7:Q8,P9:Q10,P11:Q12,L21:O21,Y2:Y4,T5:U6,Y5:Y6,V7:Y8,X9:Y10,X11:Y12,T21:W21,AG2:AG4,AB5:AC6,AG5:AG6,AD7:AG8,AF9:AG10,AF11:AG12,AB21:AE21" & _
",I49:I51,D52:E53,I52:I53,F54:I55,H56:I57,H58:I59,D6:G6"

Sub Test()
MsgBox Len(AdressePlagesSaisie)
Range(AdressePlagesSaisie).Select
End Sub
A+
 

Quicksland

XLDnaute Occasionnel
Bonjour Sylvanu

j'ai essayé mais j'ai un soucis malgré tout
VB:
Option Explicit

'Constantes de la liste de validation

Private Const AdressePlagesSaisie = " I2:I4,D5:E6,I5:I6,F7:I8,H9:I10,H11:I12,D21:G21,Q2:Q4,L5:M6,Q5:Q6,N7:Q8,P9:Q10,P11:Q12,L21:O21,Y2:Y4,T5:U6,Y5:Y6,V7:Y8,X9:Y10,X11:Y12,T21:W21,AG2:AG4,AB5:AC6,AG5:AG6,AD7:AG8,AF9:AG10,AF11:AG12,AB21:AE21 " & _
"I49:I51,D52:E53,I52:I53,F54:I55,H56:I57,H58:I59,D68:G68,Q49:Q51,L52:M53,Q52:Q53,N54:Q55,P56:Q57,P58:Q59,L68:O68,Y49:Y51,T52:U53,Y52:Y53,V54:Y55,X56:Y57,X58:Y59,T48:W48,AG49:AG51,AB52:AC53,AG52:AG53,AD54:AG55,AF56:AG57,AF58:AG59,AB68:AE68"




'Bouton Effacer
'--------------
Private Sub CommandButton1_Click()
    ActiveSheet.Range(AdressePlagesSaisie).ClearContents
End Sub

La ligne " ActiveSheet.Range(AdressPlageSaisie).ClearContents " passe au jaune

Merci de ton aide
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…