VBS vers Excel avec boucle

radiobleunuit Messages postés 2 Date d'inscription dimanche 7 novembre 2010 Statut Membre Dernière intervention 7 novembre 2010 - 7 nov. 2010 à 09:47
radiobleunuit Messages postés 2 Date d'inscription dimanche 7 novembre 2010 Statut Membre Dernière intervention 7 novembre 2010 - 7 nov. 2010 à 13:23
Bonjour à tous,

voilà j'ai un petit souci sur un script vbs vers un excel que je n'arrive pas à solutionner (étant donné le peu de connaissance dans ce domaine avec grand regret...)

Voilà j'ai deux fichiers : un vbs et un fichier Excel

le fichier Excel se décompose comme ceci :

(A1) nom de machine (B1) resultat (C1) copie

(A3) pc1 (B3) On Line (C3) OK
(A4) pc1 (B4) Off Line (C4) XXX
(A5) pc1 (B5) On line (C5) OK
(A6) pc1 (B6) Off Line (C6) XXX
etc...


Le fichier vbs :

Set appExcel = CreateObject("Excel.Application" ) 
Set wbExcel = appExcel.Workbooks.Open("C:\MachineList.xlsx" ) 

For Each d In wbexcel.ActiveSheet.Range("B1:B100")

     If d.Value="Off Line" then

       MsgBox (d.Value)
       msgbox wbexcel.ActiveSheet.Range("B3:B100").Offset(0,-1).Range("A1")       
 
End If
Next 


le problème est que à chaque résultat de "Off Line" il me trouve que la 1ere machine: en faite la boucle tourne bien pour le "Off line" mais pas les résultats des pcs (reste bloqué au premier trouvé )????

Merci de votre aide !!
Radiobleunuit

1 réponse

radiobleunuit Messages postés 2 Date d'inscription dimanche 7 novembre 2010 Statut Membre Dernière intervention 7 novembre 2010
7 nov. 2010 à 13:23
je viens de trouver le problème !!
merci quand même !!

En faite, il fallait plutôt écrire :

Set appExcel = CreateObject("Excel.Application" ) 
Set wbExcel = appExcel.Workbooks.Open("C:\MachineList.xlsx" ) 

For Each d In wbexcel.ActiveSheet.Range("B1:B100")

     If d.Value="Off Line" then

     VNom=d.Offset(0,-1).value
     msgbox VNom       
 
End If
Next 
0
Rejoignez-nous