Page 1 sur 1

[] Coloriage sous Excel  

Posté : mar. 22 juin 2021 23:04
par Yle
Bonsoir tout le monde,

J'ai quelques lignes de programme qui me pose problème

Code : Tout sélectionner

#include <Excel.au3>
#include <MsgBoxConstants.au3>

Local $oXL = _Excel_Open(False)
$oBook1 = _Excel_BookOpen($oXL,@ScriptDir & "\Cal.xls")

$NBrows = $oXL.Range("A1").CurrentRegion.Rows.Count
$ad2 = "E" & $NBrows

$array = $oXL.ActiveSheet.Range("A1",$ad2).Value 		;On crée un "Array"
_ArrayTranspose($array)
;  _ArrayDisplay($array,UBound($array) )

for $i = 5 to UBound($array) - 1
	$k = 3
	Switch $array[$i][$k]
		Case "B"
			$oBook1.ActiveSheet.Range("D"&$i).Interior.ColorIndex = 5
		Case "V"
			$oBook1.ActiveSheet.Range("D"&$i).Interior.ColorIndex = 4
		Case "R"
			$oBook1.ActiveSheet.Range("D"&$i).Interior.ColorIndex = 3
		Case " "
			$oBook1.ActiveSheet.Range("D"&$i).Interior.ColorIndex = 6
	EndSwitch
Next


MsgBox($MB_SYSTEMMODAL, "Test Excel", "Cellule coloree")
_Excel_BookClose($oBook1,true)
_Excel_Close($oXL)
Je n'arrive pas à colorier les cases "D" en bleu, rouge etc... selon les valeurs indiquées dans les cases.
Mes tests ne doivent pas être bon et je sèche...
D'avance merci

PS : Fichier Cal.xls joint mais visiblement je ne peux le mettre en cliquant sur fichiers joints ? Il fait 78Ko

Re: [] Coloriage sous Excel

Posté : mer. 23 juin 2021 13:22
par walkson
Bonjours,
#include <Excel.au3>
#include <MsgBoxConstants.au3>

Local $oXL = _Excel_Open(True)
$oBook1 = _Excel_BookOpen($oXL,@ScriptDir & "\Cal.xls")

;$NBrows = $oXL.Range("A1").CurrentRegion.Rows.Count
;$ad2 = "E" & $NBrows

$array = $oXL.ActiveSheet.Range("A1").CurrentRegion.value   ; $oXL.ActiveSheet.Range("A1",$ad2).Value       ;On crée un "Array"
_ArrayTranspose($array)
  _ArrayDisplay($array,UBound($array) )

for $i = 0 to UBound($array) - 1
   $k = 3
   Switch $array[$i][$k]
      Case "B"
         $oXL.ActiveSheet.Range("D"&$i + 1).Interior.ColorIndex = 5
      Case "V"
         $oXL.ActiveSheet.Range("D"&$i + 1).Interior.ColorIndex = 4
      Case "R"
         $oXL.ActiveSheet.Range("D"&$i + 1).Interior.ColorIndex = 3
      Case ""
         $oXL.ActiveSheet.Range("D"&$i + 1).Interior.ColorIndex = 1
   EndSwitch
Next


;MsgBox($MB_SYSTEMMODAL, "Test Excel", "Cellule coloree")
;_Excel_BookClose($oBook1,true)
;_Excel_Close($oXL)

Re: [] Coloriage sous Excel

Posté : mer. 23 juin 2021 15:06
par Yle
Merci pour votre réponse mais mes cases en D7,D8... ne sont pas colorisées sauf si j'enlève le arraydisplay....
Résolu