OVH Cloud OVH Cloud

Décalage hauteur de ligne

2 réponses
Avatar
Caroual
Bonjour,
j'ai des lignes avec des données dont des dates.
Je veux faire une rectangle suivant mes dates à droite de la ligne
concernée.
n1 = ActiveCell.Row
n2 = ActiveCell.Height
hauteur_r = n2 / 2
haut_r = Rows(1).Height + (n1 - 2) * (ActiveCell.Height + 0.19) + 4.5
gauche_r = Range(Cells(1, 1), Cells(1, 10)).Width + (ActiveCell.Offset(,
4) - Cells(1, 11)) * Columns(11).Width
largeur_r = (ActiveCell.Offset(, 7) - ActiveCell.Offset(, 4)) *
Columns(11).Width
ActiveSheet.Rectangles.Add(gauche_r, haut_r, largeur_r,
hauteur_r).Interior.Color = 65280

Je suis obligée de multiplier la hauteur de mes lignes par 0.19 sinon je me
décalle.
Pourquoi la somme des hauteurs de toutes mes lignes ne correspond pas à ce
que j'attends ?

Cela marche ainsi mais ce n'est pas très propre.

Comment pourrais-je dire :
Par rapport à la position de ma cellule dans ma feuille(hauteur)

Je ne sais si j'ai été assez claire !!

Merci
Caroual

2 réponses

Avatar
Caroual
Re bonjour,
Je pense que ma demande n'était pas très claire!
En fait je voudrais placer un rectangle sur une ligne "li1".
Et j'ai besoin de construire des rectangles sur chaque ligne.
Pour y arriver j'ai calculé la hauteur de toutes les lignes au dessus de
cette ligne "li1" pour calculer le coin supérieur gauche de mon rectangle.
Sur les premières lignes cela semble marcher, mais je constate un léger
décalage qui s'amplifie au fur et à mesure que je place les rectangles sur
les lignes suivantes.
Donc je voudrais placer ce rectangle par rapport à une cellule de la ligne
et non par rapport à toute la feuille
Merci et bonnes fêtes à tous
Caroual

"Caroual" a écrit dans le message de news:
458c36b3$0$27404$
Bonjour,
j'ai des lignes avec des données dont des dates.
Je veux faire une rectangle suivant mes dates à droite de la ligne
concernée.
n1 = ActiveCell.Row
n2 = ActiveCell.Height
hauteur_r = n2 / 2
haut_r = Rows(1).Height + (n1 - 2) * (ActiveCell.Height + 0.19) + 4.5
gauche_r = Range(Cells(1, 1), Cells(1, 10)).Width + (ActiveCell.Offset(,
4) - Cells(1, 11)) * Columns(11).Width
largeur_r = (ActiveCell.Offset(, 7) - ActiveCell.Offset(, 4)) *
Columns(11).Width
ActiveSheet.Rectangles.Add(gauche_r, haut_r, largeur_r,
hauteur_r).Interior.Color = 65280

Je suis obligée de multiplier la hauteur de mes lignes par 0.19 sinon je
me décalle.
Pourquoi la somme des hauteurs de toutes mes lignes ne correspond pas à ce
que j'attends ?

Cela marche ainsi mais ce n'est pas très propre.

Comment pourrais-je dire :
Par rapport à la position de ma cellule dans ma feuille(hauteur)

Je ne sais si j'ai été assez claire !!

Merci
Caroual





Avatar
Caroual
J'ai trouvé l'erreur ....
En fait cela marche si je lance la macro avec un zoom à 100%.
Or j'étais en 75%.......et là il y a un décalage qui se fait...
Pourquoi ????
Je vais bloquer le zoom de ce fichier à 100% mais c'est dommage...
Ou alors si quelqu'un à la réponse pour placer le rectangle en fonction de
la ligne concernée et non en fonction de la feuille entière ?
Merci
Caroual

"Caroual" a écrit dans le message de news:
458cee11$0$5102$
Re bonjour,
Je pense que ma demande n'était pas très claire!
En fait je voudrais placer un rectangle sur une ligne "li1".
Et j'ai besoin de construire des rectangles sur chaque ligne.
Pour y arriver j'ai calculé la hauteur de toutes les lignes au dessus de
cette ligne "li1" pour calculer le coin supérieur gauche de mon rectangle.
Sur les premières lignes cela semble marcher, mais je constate un léger
décalage qui s'amplifie au fur et à mesure que je place les rectangles sur
les lignes suivantes.
Donc je voudrais placer ce rectangle par rapport à une cellule de la ligne
et non par rapport à toute la feuille
Merci et bonnes fêtes à tous
Caroual

"Caroual" a écrit dans le message de news:
458c36b3$0$27404$
Bonjour,
j'ai des lignes avec des données dont des dates.
Je veux faire une rectangle suivant mes dates à droite de la ligne
concernée.
n1 = ActiveCell.Row
n2 = ActiveCell.Height
hauteur_r = n2 / 2
haut_r = Rows(1).Height + (n1 - 2) * (ActiveCell.Height + 0.19) + 4.5
gauche_r = Range(Cells(1, 1), Cells(1, 10)).Width + (ActiveCell.Offset(,
4) - Cells(1, 11)) * Columns(11).Width
largeur_r = (ActiveCell.Offset(, 7) - ActiveCell.Offset(, 4)) *
Columns(11).Width
ActiveSheet.Rectangles.Add(gauche_r, haut_r, largeur_r,
hauteur_r).Interior.Color = 65280

Je suis obligée de multiplier la hauteur de mes lignes par 0.19 sinon je
me décalle.
Pourquoi la somme des hauteurs de toutes mes lignes ne correspond pas à
ce que j'attends ?

Cela marche ainsi mais ce n'est pas très propre.

Comment pourrais-je dire :
Par rapport à la position de ma cellule dans ma feuille(hauteur)

Je ne sais si j'ai été assez claire !!

Merci
Caroual