Besoin d'aide pour débug

Besoin d'aide pour débug - VB/VBA/VBS - Programmation

Marsh Posté le 28-04-2005 à 10:31:41    

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

Reply

Marsh Posté le 28-04-2005 à 10:31:41   

Reply

Marsh Posté le 28-04-2005 à 10:59:03    

Salut,
 
Merci d'éviter le langage SMS c'est dur à suivre et on ne comprends pas toujours... Fais aussi attention à ton français et pense à utiliser les balises pour le code :)
 
Bon, j'arrête les remontrances maintenant! Pourrais-tu nous indiquer à quelle ligne l'erreur est affichée pour nous aider à t'aider?  
 
Merci

Reply

Marsh Posté le 28-04-2005 à 11:53:38    

lol, je vien de lancer le programme en pas à pas il la ligne  ActiveWorkbook.Save présente une erreur "objet requis" L27. j'ai pri un expemple sur un site.
si vous avez des exemples pour ouvrir un autre document excel et l'enregistrer puis le fermer je vous remercie de bien vouloir me les transmettre merci.

Reply

Marsh Posté le 30-04-2005 à 18:23:05    

La preuve que l'orthographe est importante:

Citation :

ActiveWorbook.Save


Il manque le k de Workbook
 
J'espère que tu ne seras pas coté sur tes fautes:

Citation :

On attribut le contenut de la casse pointé à valeur.  


doit s'écrire: "On attribue le contenu de la case pointée à valeur". De plus, vaut mieux dire "cellule" que "case".


Message édité par AlainTech le 30-04-2005 à 18:23:38

---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed