Bonjour,
je ne sais pas si je poste au bon endroit même s'il me semble que oui. J'ai un planning pour le boulot au format .ics (apparemment, c'est iCalcreator qui le génère si j'en crois le site web qui me fournit mon planning) et avant de l'importer dans mon google calendar, j'ai besoin de le modifier pour avoir un résultat "propre" à l'affichage en supprimer certaines cellules (le début de ma macro avec les Do-Loop) et en supprimant certains morceaux de texte dans les cellules (la fin de ma macro avec "cells.replace" ).
N'y connaissant rien, j'ai donc bidouillé à l'aide de google une macro Excel que voici:
Code :
- Sub Edition()
- Do
- If Cells.Find(What:="DTSTAMP" ) Is Nothing Then
- Exit Do
- Else
- Cells.Find(What:="DTSTAMP" ).Activate
- Selection.EntireRow.Delete
- End If
- Loop
- Do
- If Cells.Find(What:="UID" ) Is Nothing Then
- Exit Do
- Else
- Cells.Find(What:="UID" ).Activate
- Selection.EntireRow.Delete
- End If
- Loop
- Do
- If Cells.Find(What:="METHOD" ) Is Nothing Then
- Exit Do
- Else
- Cells.Find(What:="METHOD" ).Activate
- Selection.EntireRow.Delete
- End If
- Loop
- Do
- If Cells.Find(What:="X-WR" ) Is Nothing Then
- Exit Do
- Else
- Cells.Find(What:="X-WR" ).Activate
- Selection.EntireRow.Delete
- End If
- Loop
- Do
- If Cells.Find(What:="LOCATION" ) Is Nothing Then
- Exit Do
- Else
- Cells.Find(What:="LOCATION" ).Activate
- Selection.EntireRow.Delete
- End If
- Loop
- Do
- If Cells.Find(What:="PRODID" ) Is Nothing Then
- Exit Do
- Else
- Cells.Find(What:="PRODID" ).Activate
- Selection.EntireRow.Delete
- End If
- Loop
- Do
- If Cells.Find(What:="VERSION" ) Is Nothing Then
- Exit Do
- Else
- Cells.Find(What:="VERSION" ).Activate
- Selection.EntireRow.Delete
- End If
- Loop
- Dim feuil As Worksheet
- For Each feuil In ThisWorkbook.Worksheets
- feuil.Cells.Replace What:="T080000", Replacement:=""
- feuil.Cells.Replace What:="T180000", Replacement:=""
- feuil.Cells.Replace What:="T010000", Replacement:=""
- feuil.Cells.Replace What:="T100000", Replacement:=""
- Next feuil
- End Sub
|
Donc, j'ouvre mon planning dans Excel, je crée une nouvelle macro, je copie/colle ce texte, je lance la macro. Hourra, ça fonctionne et fait exactement ce que je veux.
Maintenant, j'aimerais éliminer "je crée une nouvelle macro, je copie/colle ce texte, je lance la macro". Je voudrais un truc transparent pour l'utilisateur au final "en un clic" (ou deux). Donc je sauvegarde ma macro au format .xlam. Je lance le fichier et j'y mets mon planning puis je lance la macro mais ... marche pas !
Je ne sais pas si je suis bien clair, mais mes connaissances en dessous de zéro en macro, vba, excel et autres font que j'ai du mal à exprimer autrement ...
Si quelqu'un a pigé ce que je veux faire et peut m'aider, merci beaucoup !!
(ou alors un logiciel tout fait qui me modifie mes plannings au format iCal directement !)
Message édité par dwarfy le 23-12-2012 à 13:29:10