Lu all, je s8 actuellement en stage pour concrétisé mon DUT GEII. Je doit à partir d'un fichier source Xcel le séparer en 3 autres fichiers. L'aurientation vers les différent fichier se ferra en fonction de ce k'il y a d'indiqué dans la collone 11,12,13.
Le probleme est le suivant: Il m'indique une erreur "d'objet requis" je voi pas trop ce que c'est g pas trouver la correspondance dans l'aide
Ps: je n'ai jamais été formé sur VBA, j'ai trouver des cours sur le net je me s8 débrouillé ac et mon tuteur est pas je bloque.
voila mon code:
Sub Test()
Dim valeur As String ' Déclaration d'une chaine de carractère.
Dim Type_carte As String ' Déclaration d'une chaine de carractère.
Dim Adr_Phys As String ' Déclaration d'une chaine de carractère.
Dim Mnémo As String ' Déclaration d'une chaine de carractère.
Dim Adr_VME As String ' Déclaration d'une chaine de carractère.
Dim Type_ES As String ' Déclaration d'une chaine de carractère.
Dim Com As String ' Déclaration d'une chaine de carractère.
Dim i As Integer 'déclaration de la variable i.
Do
For i = 1 To 96 'nous allons éffectuer une boucle qui va se répété 96 fois.
valeur = Cells(i, 11) ' On attribut le contenut de la casse pointé à valeur.
Do While valeur = "S" ' faire si valeur = "S".
Type_carte = Cells(i, 1)
Adr_Phys = Cells(i, 2)
Mnémo = Cells(i, 3)
Adr_VME = Cells(i, 4)
Type_ES = Cells(i, 5)
Com = "# " & Cells(i, 6)
Workbooks.Open Filename:="P:\Documents\FLorent\80-MT centre\KCS.XLS" ' on ouvre le classeur dans le quel on souhaite écrire.
Application.Cells(i, 1) = Type_carte
Application.Cells(i, 2) = Adr_Phys
Application.Cells(i, 3) = Mnémo
Application.Cells(i, 4) = Adr_VME
Application.Cells(i, 5) = Type_ES
Application.Cells(i, 6) = Com
ActiveWorbook.Save
ActiveWindow.Close
Loop
valeur = Cells(i, 12) ' On attribut le contenut de la casse pointé à valeur.
Do While valeur = "R" ' faire si valeur = "R".
Type_carte = Cells(i, 1)
Adr_Phys = Cells(i, 2)
Mnémo = Cells(i, 3)
Adr_VME = Cells(i, 4)
Type_ES = Cells(i, 5)
Com = "# " & Cells(i, 6)
Workbooks.Open Filename:="P:\Documents\FLorent\80-MT centre\KCR.XLS" ' on ouvre le classeur dans le quel on souhaite écrire.
Application.Cells(i, 1) = Type_carte
Application.Cells(i, 2) = Adr_Phys
Application.Cells(i, 3) = Mnémo
Application.Cells(i, 4) = Adr_VME
Application.Cells(i, 5) = Type_ES
Application.Cells(i, 6) = Com
ActiveWorbook.Save
ActiveWindows.Close
Loop
valeur = Cells(i, 13) ' On attribut le contenut de la casse pointé à valeur.
Do While valeur = "P" ' faire si valeur = "P".
Type_carte = Cells(i, 1)
Adr_Phys = Cells(i, 2)
Mnémo = Cells(i, 3)
Adr_VME = Cells(i, 4)
Type_ES = Cells(i, 5)
Com = "# " & Cells(i, 6)
Workbooks.Open Filename:="P:\Documents\FLorent\80-MT centre\KCP.XLS" ' on ouvre le classeur dans le quel on souhaite écrire.
Application.Cells(i, 1) = Type_carte
Application.Cells(i, 2) = Adr_Phys
Application.Cells(i, 3) = Mnémo
Application.Cells(i, 4) = Adr_VME
Application.Cells(i, 5) = Type_ES
Application.Cells(i, 6) = Com
ActiveWorbook.Save
ActiveWindows.Close
Loop
Next
Loop While i <> 96
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
A quoi ressemble mon tableur:
A B C D E F ....... K L M
ICV196 V20900 EF2475MA01RD 0xC42000 E 1= tensionneur entrée R
ICV196 V20901 EF2475MA01NN 0xC42000 E 1= tensionneur entrée R
ICV196 V20902 EF2475MA01SC 0xC42000 E 1= tensionneur entrée R
ICV196 V20903 EF2475MA01AA 0xC42000 E 1= tensionneur entrée R
ICV196 V20904 EF2475MA01VP 0xC42000 E 1= tensionneur entrée R
ICV196 V20905 EF2475MA01CE 0xC42000 E 1= tensionneur entrée R
ICV196 V20906 ED2475MA01RC 0xC42000 E 1= tensionneur entrée R
ICV196 V20907 EF2475MA04R 0xC42000 E Reserve R
Voila a quoi resemble brievement mon tableur. Merci d'avance pour votre aide