::Cordialement,
::Sandy-Pascal Andriant - [[Utilisateur:Conil26|Conil26]] - Jeudi 24 Février 2011 21:36
::::::::::::Il n'est peut-être pas prudent d'envoyer le fichier excel-to-mediawiki.txt dans C:\::::::::::::Set fs = CreateObject("Scripting.FileSystemObject")::::::::::::Set a = fs.CreateTextFile(destination$ & ":\excel-to-mediawiki.txt", True):::On pourrait intégrer ce message :::::::::On pourrait intégrer ce message :::::::::::::<<br />::::::::::::Sub wiki4()::::::::::::Dim destinationDisk$, origineDisk$::::::::::::destinationDisk$ = ""::::::::::::origineDisk$ = "C"::::::::::::destinationDisk$ = InputBox("Le disque de destination du fichier est " &::::::::::::origineDisk$ & "par défaut." & vbCr & vbCr & "Dans quel disque préférez-vous::::::::::::exporter le fichier ?")::::::::::::If destinationDisk$ = "" Then End::::::::::::MsgBox ("Le disque de destination choisi est " & destinationDisk$)::::::::::::On Error GoTo Erreur_Fatale::::::::::::End::::::::::::Erreur_Fatale:::::::::::::MsgBox "Erreur dans le nom du disque de destination. Rédiger C ou D, etc... (sans :\)"::::::::::::End Sub::::::::::::<br />::::::::::::Sandy-Pascal Andriant - [[Utilisateur:Conil26|Conil26]] - Jeudi 24 Février 2011 20:26 :::::::::::::Oups:::::::::::::Set fs = CreateObject("Scripting.FileSystemObject"):::::::::::::Set a = fs.CreateTextFile(destination{{coloré|red|Disk}}$ & ":\excel-to-mediawiki.txt", True):::::::::::::Cordialement,:::::::::::::Sandy-Pascal Andriant - [[Utilisateur:Conil26|Conil26]] - Jeudi 24 Février 2011 20:33 ::::::::::::::Choix amélioré.::::::::::::::Sub wiki4()::::::::::::::<br />::::::::::::::Dim destinationDisk$, origineDisk$:::::::::::::: destinationDisk$ = "":::::::::::::: origineDisk$ = "C":::::::::::::: destinationDisk$ = InputBox("Le disque de destination du fichier est " & origineDisk$ & "par défaut." & vbCr & vbCr & "Dans quel disque préférez-vous exporter le fichier ?" & vbCr & vbCr & "Rédiger C: ou D: ou H:\Dossier ; sans \ à la fin"):::::::::::::: If destinationDisk$ = "" Then End:::::::::::::: MsgBox ("Vous trouverez le fichier par ce chemin : " & destinationDisk$ & "\excel-to-mediawiki.txt"):::::::::::::: On Error GoTo Erreur_Fatale:::::::::::::: End::::::::::::::Erreur_Fatale::::::::::::::: MsgBox "Erreur dans le nom du disque de destination. Rédiger C: ou D: ou H:\Dossier ; sans \ à la fin)"::::::::::::::End Sub::::::::::::::<br />::::::::::::::Cordialement,::::::::::::::Sandy-Pascal Andriant - [[Utilisateur:Conil26|Conil26]] - Jeudi 24 Février 2011 20:47 :::::::::::::::Chacun ajoutera sa patte dans la macro.:::::::::::::::je ne donne que la base qui fonctionne bien... à personnaliser.:::::::::::::::il n'y a pas plus de risque.:::::::::::::::pour exécuter cette macro, il faut être contributeur wiki, il faut connaître excel, il faut savoir debuger en cas d'erreur, il faut connaître les tableaux :::::::::::::::pour vérifier, tu en compte combien chez Francegenweb ?:::::::::::::::à la grande limite, s'il casse tout, il ne va pas venir se vanter d'avoir bricolé le code vba.:::::::::::::::<br />:::::::::::::::DERNIERE VERSION AU 24/02/2011:::::::::::::::<br />:::::::::::::::Sub xls_to_wgw():::::::::::::::<br />:::::::::::::::On Error Resume Next:::::::::::::::titre = "Excel to WikiGenWeb":::::::::::::::<br />:::::::::::::::ncols = Application.InputBox("Nombre de colonnes à partir de A ?", titre):::::::::::::::nrows = Application.InputBox("Nombre de lignes à partir de 1 ?", titre):::::::::::::::<br />:::::::::::::::Range("A1:" & Chr(ncols + 64) & "1").Select:::::::::::::::For Each cell In Selection:::::::::::::::If cell.Value = "" Then:::::::::::::::If MsgBox("Au moins 1 colonne de la ligne 1 n'est pas renseignée." & vbCrLf & "Continuer ?", vbYesNo, titre) = vbNo Then:::::::::::::::Exit Sub:::::::::::::::End If:::::::::::::::End If:::::::::::::::Next cell:::::::::::::::<br />:::::::::::::::Range("A1:A" & nrows).Select:::::::::::::::For Each cell In Selection:::::::::::::::If cell.Value = "" Then:::::::::::::::If MsgBox("Au moins 1 ligne de la colonne A n'est pas renseignée." & vbCrLf & "Continuer ?", vbYesNo, titre) = vbNo Then:::::::::::::::Exit Sub:::::::::::::::End If:::::::::::::::End If:::::::::::::::Next cell:::::::::::::::<br />:::::::::::::::nom = ActiveSheet.Name:::::::::::::::Sheets("xls_to_wgw").Select:::::::::::::::ActiveWindow.SelectedSheets.Delete:::::::::::::::Sheets(nom).Select:::::::::::::::ActiveSheet.Copy After:=ActiveSheet:::::::::::::::ActiveSheet.Name = "xls_to_wgw":::::::::::::::Sheets("xls_to_wgw").Select:::::::::::::::Cells.Select:::::::::::::::Application.CutCopyMode = False:::::::::::::::Selection.ClearContents:::::::::::::::Sheets(nom).Select:::::::::::::::Range("A1:" & Chr(ncols + 64) & nrows).Select:::::::::::::::Selection.Copy:::::::::::::::Sheets("xls_to_wgw").Select:::::::::::::::Range("A1").Select:::::::::::::::ActiveSheet.Paste:::::::::::::::<br />:::::::::::::::Columns("A:A").Select:::::::::::::::Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove:::::::::::::::Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove:::::::::::::::Rows("1:1").Select:::::::::::::::Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove:::::::::::::::<br />:::::::::::::::Range("B2").Select:::::::::::::::Columns("B:B").ColumnWidth = 120:::::::::::::::Range("B2").Select:::::::::::::::<br />:::::::::::::::For rwIndex = 2 To nrows + 1:::::::::::::::texte = "<!-- (L " & rwIndex - 1 & ") -->|-":::::::::::::::For colIndex = 3 To ncols + 2:::::::::::::::texte = texte & "|" & Cells(rwIndex, colIndex) & "|":::::::::::::::Next colIndex:::::::::::::::texte = Left(texte, Len(texte) - 1):::::::::::::::Cells(rwIndex, 2) = texte:::::::::::::::Next rwIndex:::::::::::::::<br />:::::::::::::::Set fs = CreateObject("Scripting.FileSystemObject"):::::::::::::::Set a = fs.CreateTextFile("c:\excel-to-mediawiki.txt", True):::::::::::::::a.WriteLine ("{| class=wikitable"):::::::::::::::Range("B2:B" & nrows + 1).Select:::::::::::::::For Each cell In Selection:::::::::::::::texte = Replace(cell.Value, "|-", "|-" & vbCrLf):::::::::::::::a.WriteLine (texte):::::::::::::::Next cell:::::::::::::::a.WriteLine ("|}"):::::::::::::::a.Close:::::::::::::::<br />:::::::::::::::Range("B2").Select:::::::::::::::Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(nrows - 1, 0)).Select:::::::::::::::<br />:::::::::::::::MsgBox "La feuille Excel " & Sheets(nom).Name & " a été transformée en fichier WikiGenWeb sour le nom c:\excel-to-mediawiki.txt que vous devez copier dans votre article." & vbCrLf _ & ncols & " colonnes." & vbCrLf & nrows & " lignes.":::::::::::::::<br />:::::::::::::::End Sub:::::::::::::::<br />:::::::::::::::Raymond - [[Utilisateur:Raymond SÉNÈQUE|Raymond SÉNÈQUE]] - Jeudi 24 Février 2011 20:50
::::::::::::::::Bravo !!!
::::::::::::::::http://www.francegenweb.org/~wiki/index.php/Discussion_utilisateur:Conil26#essai_avec_macro_finie