[VB] Macro complémentaire sous Excel

Macro complémentaire sous Excel [VB] - VB/VBA/VBS - Programmation

Marsh Posté le 10-03-2005 à 19:34:16    

Salut,
 
Je débute complètement en VB, j'ai fait une macro répondant à mes besoins.
Un fichier excel d'un client est généré avec une marque de voiture par feuille, et dans chaque feuille des annonces, dont je veux extraire celles avec un prix valide et les mettre dans un nouveau fichier ...
 
Elle marche nickel, mais si vous pouvez jeter un oeil pour vérifier la syntaxe.
 
Par contre, je voudrais que cette macro soit accessible tt le temps dans excel (macro complémentaire) mais je n'arrive pas à faire fonctionner, si qq peut m'expliquer.
 
Merci d'avance
Seb
 

Code :
  1. 'Fonction exportant tous les véhicules dans un nouveau fichier
  2. Sub ExportVehicules()
  3. ' On déclare les fichiers
  4. Dim fichier_source As Workbook
  5. Dim fichier_final As Workbook
  6. Set fichier_source = ThisWorkbook
  7. Set fichier_final = Workbooks.Add(xlWBATWorksheet)
  8. Dim ligne%
  9. ligne = 1
  10. ' les feuilles du doc
  11. Dim Sht As Worksheet
  12. Dim Sht2 As Worksheet
  13. Set aSh = ActiveSheet
  14. Set Sht2 = fichier_final.Sheets(1)
  15. ' Pour chaque feuille du doc initial, chaque MARQUE
  16. For Each Sht In fichier_source.Worksheets
  17.   ' Pour chaque ligne, chaque VEHICULE ' MsgBox Sht.Name & " comporte " & Sht.UsedRange.Rows.Count
  18.   For j = 1 To Sht.UsedRange.Rows.Count
  19.     ' Si c une bonne ligne, Prix ok
  20.     If Sht.Cells(j, 6).Value <> "" And Sht.Cells(j, 6).Value <> "Prix proposé" And Sht.Cells(j, 6).Value <> "0" Then
  21.       ' Pour chaque colonne (les 9 en fait)
  22.       For i = 1 To 9
  23.         Sht2.Cells(ligne, i).Value = Sht.Cells(j, i).Value
  24.       Next i
  25.       ' On saute une ligne dans le fichier final
  26.       ligne = ligne + 1
  27.     End If
  28.   Next j
  29. Next Sht
  30. ' Fin fonction
  31. End Sub

Reply

Marsh Posté le 10-03-2005 à 19:34:16   

Reply

Marsh Posté le 10-03-2005 à 21:08:45    

Où as-tu mis ta macro?
Elle doit être dans un module.
Tu peux mettre Public devant Sub.


---------------
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