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

Résolu
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008 - 4 juin 2008 à 11:54
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 4 juin 2008 à 15:55
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

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
4 juin 2008 à 12:58
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...
*********************************************************************************
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
4 juin 2008 à 15:55
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
3
Rejoignez-nous