OVH Cloud OVH Cloud

Mise en forme jusqu'à la dernière ligne

8 réponses
Avatar
vswildcat
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A, s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la colonne A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.

8 réponses

Avatar
LSteph
Bonjour,

si c:d n'est pas vide qd la ligne est remplie

Range("c6", [c65536].End(xlUp).MergeArea.Address).Select

lSteph
"vswildcat" a écrit dans le message de
news:
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le
nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A, s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la colonne
A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.


Avatar
Daniel
Bonjour.
Vu la réponse de LSteph, j'ai du rater quelque chose. Voila quand même mon
code :

Sub test()
Dim Plage As Range
Set Plage = Range("A5", Range("A65536").End(xlUp)).Offset(0, 2).Resize(,
2)
Plage.Borders(xlEdgeTop).Weight = xlMedium
Plage.Borders(xlEdgeBottom).Weight = xlMedium
Plage.Borders(xlEdgeLeft).Weight = xlMedium
Plage.Borders(xlEdgeRight).Weight = xlMedium
End Sub

Cordialement.
Daniel
"vswildcat" a écrit dans le message de
news:
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le
nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A, s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la colonne
A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.


Avatar
vswildcat
Je me suis mal expliquer : je prends C5+D5 avec les lignes suivantes...

sauf que les lignes suivantes ne sont pas, et ne doivent pas être fusionnées
(c'est ton MergeArea qui me fais peur ;-))

C5 et D5 sont fusionnées avant dans la macro (pour centrer le titre commun
aux deux colonnes)

Et malheureusement si, il peut y avoir dans la colonne C et/ou dans la
colonne D des celulles vides avant la fin du tableau.

A B C D
1 Titre commun
2 Titre1 Titre2 Titre3 Titre4
3 blabla 1234 12541 5412
4 <Vide> 45125 <Vide> <Vide>
5 bloblo 541 <Vide> 5469
. .... 45212 54121 12542
. .... .......... .......... <Vide>

x Grand Total 12521 5453 524546

Je veux donc selectionner colonne C et D de "Titre commun" jusqu'à la ligne
x inclue.

j'espère que mon petit "tableau" sera lisible...


Bonjour,

si c:d n'est pas vide qd la ligne est remplie

Range("c6", [c65536].End(xlUp).MergeArea.Address).Select

lSteph
"vswildcat" a écrit dans le message de
news:
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le
nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A, s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la colonne
A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.







Avatar
LSteph
Re,
alors :

Range("c5", [c65536].End(xlUp).MergeArea.Address).Select

"vswildcat" a écrit dans le message de
news:
Je me suis mal expliquer : je prends C5+D5 avec les lignes suivantes...

sauf que les lignes suivantes ne sont pas, et ne doivent pas être
fusionnées
(c'est ton MergeArea qui me fais peur ;-))

C5 et D5 sont fusionnées avant dans la macro (pour centrer le titre commun
aux deux colonnes)

Et malheureusement si, il peut y avoir dans la colonne C et/ou dans la
colonne D des celulles vides avant la fin du tableau.

A B C D
1 Titre commun
2 Titre1 Titre2 Titre3 Titre4
3 blabla 1234 12541 5412
4 <Vide> 45125 <Vide> <Vide>
5 bloblo 541 <Vide> 5469
. .... 45212 54121 12542
. .... .......... .......... <Vide>

x Grand Total 12521 5453 524546

Je veux donc selectionner colonne C et D de "Titre commun" jusqu'à la
ligne
x inclue.

j'espère que mon petit "tableau" sera lisible...


Bonjour,

si c:d n'est pas vide qd la ligne est remplie

Range("c6", [c65536].End(xlUp).MergeArea.Address).Select

lSteph
"vswildcat" a écrit dans le message
de
news:
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les
adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le
nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des
celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A,
s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de
C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la
colonne
A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.









Avatar
LSteph
...et du moment que c et d sont remplis à la ligne grd total cela marche
en revanche s'il y a des choses en après le grd total cela n'ira plus.



"vswildcat" a écrit dans le message de
news:
Je me suis mal expliquer : je prends C5+D5 avec les lignes suivantes...

sauf que les lignes suivantes ne sont pas, et ne doivent pas être
fusionnées
(c'est ton MergeArea qui me fais peur ;-))

C5 et D5 sont fusionnées avant dans la macro (pour centrer le titre commun
aux deux colonnes)

Et malheureusement si, il peut y avoir dans la colonne C et/ou dans la
colonne D des celulles vides avant la fin du tableau.

A B C D
1 Titre commun
2 Titre1 Titre2 Titre3 Titre4
3 blabla 1234 12541 5412
4 <Vide> 45125 <Vide> <Vide>
5 bloblo 541 <Vide> 5469
. .... 45212 54121 12542
. .... .......... .......... <Vide>

x Grand Total 12521 5453 524546

Je veux donc selectionner colonne C et D de "Titre commun" jusqu'à la
ligne
x inclue.

j'espère que mon petit "tableau" sera lisible...


Bonjour,

si c:d n'est pas vide qd la ligne est remplie

Range("c6", [c65536].End(xlUp).MergeArea.Address).Select

lSteph
"vswildcat" a écrit dans le message
de
news:
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les
adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le
nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des
celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A,
s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de
C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la
colonne
A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.









Avatar
vswildcat
EXCELLENT !! Ca MARCHE !!

Je ne comprends pas très bien comment...

Afin de pouvoir la réutiliser, est-ce que tu pourrais me traduire "en
français" ce que ça fait ?

End(xlUp) par exemple, c'est ça qui permet à Excel de détecter que le
tableau est fini ?

Et MergeArea.Adress renvoi quoi ? les colonnes ?


Re,
alors :

Range("c5", [c65536].End(xlUp).MergeArea.Address).Select

"vswildcat" a écrit dans le message de
news:
Je me suis mal expliquer : je prends C5+D5 avec les lignes suivantes...

sauf que les lignes suivantes ne sont pas, et ne doivent pas être
fusionnées
(c'est ton MergeArea qui me fais peur ;-))

C5 et D5 sont fusionnées avant dans la macro (pour centrer le titre commun
aux deux colonnes)

Et malheureusement si, il peut y avoir dans la colonne C et/ou dans la
colonne D des celulles vides avant la fin du tableau.

A B C D
1 Titre commun
2 Titre1 Titre2 Titre3 Titre4
3 blabla 1234 12541 5412
4 <Vide> 45125 <Vide> <Vide>
5 bloblo 541 <Vide> 5469
. .... 45212 54121 12542
. .... .......... .......... <Vide>

x Grand Total 12521 5453 524546

Je veux donc selectionner colonne C et D de "Titre commun" jusqu'à la
ligne
x inclue.

j'espère que mon petit "tableau" sera lisible...


Bonjour,

si c:d n'est pas vide qd la ligne est remplie

Range("c6", [c65536].End(xlUp).MergeArea.Address).Select

lSteph
"vswildcat" a écrit dans le message
de
news:
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les
adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le
nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des
celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A,
s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de
C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la
colonne
A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.














Avatar
LSteph
...pour être complet (pas vu l'encadrement)

Sub test()
Range("c5", [c65536].End(xlUp).MergeArea.Address).Select
With Selection.Borders
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlInsideVertical).Weight = xlThin
End Sub

'lSteph
"vswildcat" a écrit dans le message de
news:
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le
nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A, s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la colonne
A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.


Avatar
LSteph
End(xlUp) par exemple, c'est ça qui permet à Excel de détecter que le
tableau est fini ?
OUi

Cela remonte d'en bas (xlup) pour atteindre (end) la dernière cellule de la
plage

Cells(1,1).MergeArea
considère, si a1 est d'une plage fusionnée , cette plage, sinon, a1.
en fait ici il est inutile puisque c5 d5 sont déjà fusionnées
(c'était au cas où il faille aller de c6 non fusionnée à c...n (fusionné
avec d) selon ceque j'avais (mal compris)
.address
renvoie l'adresse de la plage


"vswildcat" a écrit dans le message de
news:
EXCELLENT !! Ca MARCHE !!

Je ne comprends pas très bien comment...

Afin de pouvoir la réutiliser, est-ce que tu pourrais me traduire "en
français" ce que ça fait ?

End(xlUp) par exemple, c'est ça qui permet à Excel de détecter que le
tableau est fini ?

Et MergeArea.Adress renvoi quoi ? les colonnes ?


Re,
alors :

Range("c5", [c65536].End(xlUp).MergeArea.Address).Select

"vswildcat" a écrit dans le message
de
news:
Je me suis mal expliquer : je prends C5+D5 avec les lignes suivantes...

sauf que les lignes suivantes ne sont pas, et ne doivent pas être
fusionnées
(c'est ton MergeArea qui me fais peur ;-))

C5 et D5 sont fusionnées avant dans la macro (pour centrer le titre
commun
aux deux colonnes)

Et malheureusement si, il peut y avoir dans la colonne C et/ou dans la
colonne D des celulles vides avant la fin du tableau.

A B C D
1 Titre commun
2 Titre1 Titre2 Titre3 Titre4
3 blabla 1234 12541 5412
4 <Vide> 45125 <Vide> <Vide>
5 bloblo 541 <Vide> 5469
. .... 45212 54121 12542
. .... .......... .......... <Vide>

x Grand Total 12521 5453 524546

Je veux donc selectionner colonne C et D de "Titre commun" jusqu'à la
ligne
x inclue.

j'espère que mon petit "tableau" sera lisible...


Bonjour,

si c:d n'est pas vide qd la ligne est remplie

Range("c6", [c65536].End(xlUp).MergeArea.Address).Select

lSteph
"vswildcat" a écrit dans le
message
de
news:
Bonjour,

J'ai vu des posts similaires, mais je ne vois pas comment les
adapter...

J'ai un tableau qui fera toujours le même nombre de colonne, mais le
nombre
de lignes augmente de jour en jour.

Les cellules C5 et D5 sont fusionnées.
Je veux selectionner les lignes suivantes (donc 2 celulles par
lignes :
C6+D6, C7+D7...), jusqu'à la dernière ligne du tableau.

Problème, c'est qu'à l'interieur du tableau, il peut y avoir des
celulles
vides, donc, je ne peux pas utiliser :

while activecell <> ""

Par contre, la dernière ligne du tableau, dans la colonne A,
s'appellera
toujours "% Grand Total"

Je voudrais donc transcrire quelque chose qui dirai : à partir de
C5:D5,
selectionne les cellules suivantes jusqu'à ce qu'à ce que dans la
colonne
A
tu trouve la valeur "% Grand Total".

Ensuite c'est encadré en medium, avec la ligne verticale fine.