Je ne comprend pas ce bout de code, quelqu'un saura t il me le traduire?

[Résolu]
Signaler
Messages postés
35
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
3 août 2008
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
Dim CaseX, CaseY As Integer
  Screen.MousePointer = vbHourglass
  For i = 0 To 9
    With imgCase(i + 11 * GraphNum)
      CaseX = (Me.Left + .Left) / 15
      CaseY = (Me.Top + .Top) / 15
      CaseCoul(i, 0) = GetPixelScreenColor((CaseX + 8), (CaseY + 7))
      CaseCoul(i, 1) = GetPixelScreenColor((CaseX + 8), (CaseY + 11))
    End With
  Next i

c'est la partie en rouge, y a t il une personne qui saurait me faire "une explication de texte"????
 j'ai cru comprendre que with et and with permettent d'assigner plusieur propriétés à un objet sans avoir à le recopier x fois, mais le je ne comprends pas tout: caseX et caseY seraient des propriétés de imgCase??? aisi que CaseCoul???

donc voilà comprend pas l'utilisation de with et and with et je ne comprend pas à quoi correspond: (Me.Left + .Left)

ce code est issu de http://www.vbfrance.com/codes/DEMINEUR-AUTOMATIQUE_2649.aspx

2 réponses

Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Bonjour,

with te permet de ne pas recopier x fois le controle et d'utiliser ses propriétés directement en mettant un point avant la propriété ou fonction...
Ici CaseX et CaseY sont des variables qui sont définies par le controle imgCase(i + 11 * GraphNum) avec les propriété LeftetTop

En esperant que cela répond à ta question...

S.L.B.
<hr />*********************************************************************************
Même si l'orthographe est la science des ânes, en faisant tous un effort, le message passe beaucoup mieux...
*********************************************************************************
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Avec With, tu peux écrire :
    With imgCase(i + 11 * GraphNum)
      CaseX = (Me.Left + .Left) / 15
      CaseY = (Me.Top + .Top) / 15

Sans With tu aurais été obligé d'écrire :
      CaseX = (Me.Left + imgCase(i + 11 * GraphNum) .Left) / 15
      CaseY = (Me.Top +imgCase(i + 11 * GraphNum).Top) / 15

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php