Decallage do position entre forme crée et cellule

Bonjour a tous,

Je viens chercher de l'aide sur le forum pour quelque chose d'un peu particulier.

Avec 2 boucles For j'ai automatisé la création de rectangles (msorectangles) transparents juste en dessous de chaque rectangle colorées. Mon problème est le suivant: un decallage se crée tout au début (le rectangle n'est pas bien en dessous de la cellule colorée) et ce decallage s'empire au fur et a mesure de la boucle. Je ne comprends pas l'origine du problème. Les références seraient différentes entre Cellules et Formes?

Voici le code:

Sub Solution()

Dim RGBC As Long

Dim Blue As Integer

Dim Green As Integer

Dim Red As Integer

Dim i As Integer

Dim j As Integer

Dim k As Integer

Dim W As Single

i = 0

j = 0

k = 0

With Worksheets(1)

For i = 1 To 30

For j = 1 To 100

If .Cells(i, j).Interior.ColorIndex < 0 Then

Else: .Cells(i, j).Activate

RGBC = ActiveCell.Interior.Color

Red = Int(RGBC Mod 256)

Green = Int((RGBC Mod 65536) / 256)

Blue = Int(RGBC / 65536)

With ActiveSheet.Shapes.AddShape(msoShapeRectangle, 2 + 0.17 * j + ActiveCell.Left, ActiveCell.Offset(1, 0).Top, ActiveCell.Width, ActiveCell.Height)

With .Fill

.ForeColor.RGB = RGB(Red, Green, Blue)

.Transparency = 0.5

End With

With .Line

.DashStyle = msoLineSingle

.ForeColor.RGB = RGB(Red, Green, Blue)

.Weight = xlHairline

End With

End With

k = 0

End If

Next j

Next i

End With

End Sub

ET le fichier en PJ.

Merci d'avance!

16test-final.xlsm (28.19 Ko)

Salut Tinet2

Peut-être remplacer

.Weight = xlHairline

par

.Weight = 0.5

Sinon il faut prendre en compte l'épaisseur du trait de 1Pt

A+

Ca ne resoud pas le probleme, je ne vois pas pourquoi il y a un decallage au début.

En réalité c'est possible de le compenser, je le fais comme pour trouver les composante a et b d'une courbe affine mais je voudrais savoir de ou cela provient car des qu'on change la largeur des colonnes, le réglage manuel n'est plus effectif

Re,

Je ne comprends rien de rien à ton problème

Chez moi, je n'ai pas de problème de décalage, même en changeant la largeur des colonnes

Zoom de la feuille à 100%

A+

screenshot154

Rien qu'au début j'ai ça, je ne sais pas comment tu fais, moi ca a l'air de beuguer c'est pour ca que je suis aussi perplexe, en soit je devrais avoir le même résultat que toi

Re,

As-tu un affichage de ta feuille avec zoom à 100%, ça pourrait provenir de ça

A+

Le debut:

1

La fin:

3

J'ai essaye avec le zoom a 100% mais ca marche pas

Re,

Heuuuu ben là .... c'est le mystère de l'informatique

Effectivement je n'arrive pas à comprendre d'ou peut venir ton problème

A part peut-être un driver de carte graphique pas à jour, qui renverrait de mauvaise coordonnées

Je dis ça mais je n'en sais rien

Tu es à qu'elle résolution d'écran ?

A+

Je suis en 1024*768, ca peut serieusement venir d'un pilote non ;is a jour de la carte graphique?!

Re,

Tiret2 a écrit :

Je suis en 1024*768, ca peut serieusement venir d'un pilote non ;is a jour de la carte graphique?!

Perso, je suis en 1920*1200 (écran 24"), j'ai essayé en 1024*768 je n'ai aucun problème non plus

Je ne sais réellement pas de quoi ça peut provenir

A+

Merci de t'etre penché sur mon probleme, au moins je sais que cela ne vient pas de mon code! Big Step!

Merci bien !

Rechercher des sujets similaires à "decallage position entre forme cree"