Aide:Transformer un tableau Excel en tableau WikiGenWeb : Différence entre versions
m (→Travaux de mise en forme sous éditeur) |
m (→Créatiopn du fichier) |
||
Ligne 23 : | Ligne 23 : | ||
==Travaux à exécuter sur Excel== | ==Travaux à exécuter sur Excel== | ||
− | === | + | ===Création du fichier=== |
* '''Ouvrir votre fichier Excel ou placer une copie de votre feuille à partir de la cellule A1''' | * '''Ouvrir votre fichier Excel ou placer une copie de votre feuille à partir de la cellule A1''' | ||
Version du 24 février 2011 à 22:59
Sommaire
Objectif
Cet article doit vous permettre de transformer une feuille Excel en un tableau WikiGenWeb, c'est à dire transformer du code application VBA en code wiki.
Nous avons choisi un exemple simple pour bien comprendre le déroulement de la procédure. Pour votre cas pratique vous devrez ajouter les sélections supplémentaires de cellules que vous devez transformer, notamment les liens.
Les clauses de style que ce soit pour la couleur, la police, la mise en page etc.... seront ignorés.
Source et cible
Votre feuille Excel est celle indiquée ci-dessous et vous devez retrouver le même tableau dans votre article WikiGenWeb, sauf la couleur.
N° | Nom | Sx | Date | Age | Date de N | Père | Mère | Conjoint |
8 | CAYRÉ Jean Louis | M | 25/05/1837 | 61 ans | 1776 | |||
12 | DELFOS Justine | F | 27/04/1895 | 81 ans | 1814 | DELFOS Vidal | DELFOS Jeanne | PAGES Casimir |
6 | DUMAS Marie Jeanne | F | 26/07/1801 | 19 mois | 1799 | DUMAS Claude | MARTIN Delphine | |
5 | TALON Barthélémy | M | 26/06/1763 | 80 ans | 1683 |
Travaux à exécuter sur Excel
Création du fichier
- Ouvrir votre fichier Excel ou placer une copie de votre feuille à partir de la cellule A1
Création d'une macro
- Passer en création de macro pour venir sur la page de saisie du code VBA
- Copier la macro ci-dessous sur la page affichée
Sub xls_to_wgw() On Error Resume Next titre = "Excel to WikiGenWeb" ncols = Application.InputBox("Nombre de colonnes à partir de A ?", titre) nrows = Application.InputBox("Nombre de lignes à partir de 1 ?", titre) 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 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 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 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 Range("B2").Select Columns("B:B").ColumnWidth = 120 Range("B2").Select 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 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 Range("B2").Select Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(nrows - 1, 0)).Select 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." End Sub
Ne pas fermer la page des macros et cocher une référence supplémentaire obligatoire.
- Cliquer sur menu : outils et ensuite sur références
- Cocher la case Microsoft Scripting Runtime dans la liste affichée
- Cliquer sur OK
- Enregistrer
- Fermer la page des macros
Lancer la transformation
- Se placer sur la feuille à transformer.
- Exécuter la macro xls_to_wgw.
- Suivre les instructions et répondre aux questions.
- Une nouvelle feuille nommée « xls_to_wgw » affiche le résultat pour information
- Un fichier nommé « excel-to-mediawiki.txt » est créé à la racine du disque dur « c: ». Il sera utilisé pour créer votre tableau
- Ouvrir le fichier ci-dessus avec un éditeur type bloc-notes, notepad++ etc…
(dans l'explorateur, faire un double-click sur le nom pour l'ouvrir avec l'éditeur par défaut). - Dans l'éditeur :
- Sélectionner tout
- Copier dans le presse-papier
Création du tableau sous WikiGenWeb
- Placez-vous à l'endroit où doit être placé le tableau, faîtes un coller.
- Vous devez obtenir ce texte :
{| |- |N°||Nom||Sx||Date||Age||Date de N||Père||Mère||Conjoint |- |8||CAYRÉ Jean Louis||M||25/05/1837||61 ans||1776|| || || |- |12||DELFOS Justine||F||27/04/1895||81 ans||1814||DELFOS Vidal||DELFOS Jeanne||PAGES Casimir |- |6||DUMAS Marie Jeanne||F||26/07/1801||19 mois||1799||DUMAS Claude||MARTIN Delphine|| |- |5||TALON Barthélémy||M||26/06/1763||80 ans||1683|| || || |}
- Entrez les paramètres de style de votre tableau, comme indiqué ci-dessous :
- Sur la 1e ligne {| , ajouter le texte « class=wikitable »
- Sur la 3e ligne, remplacez le premier pipe (|) par un point d'exclamation
{| class=wikitable |- !N°||Nom||Sx||Date||Age||Date de N||Père||Mère||Conjoint |- |8||CAYRÉ Jean Louis||M||25/05/1837||61 ans||1776|| || || |- |12||DELFOS Justine||F||27/04/1895||81 ans||1814||DELFOS Vidal||DELFOS Jeanne||PAGES Casimir |- |6||DUMAS Marie Jeanne||F||26/07/1801||19 mois||1799||DUMAS Claude||MARTIN Delphine|| |- |5||TALON Barthélémy||M||26/06/1763||80 ans||1683|| || || |}
- Votre tableau est terminé : Cliquez sur Prévisualiser
- Vous devez obtenir ce tableau :
N° | Nom | Sx | Date | Age | Date de N | Père | Mère | Conjoint |
---|---|---|---|---|---|---|---|---|
8 | CAYRÉ Jean Louis | M | 25/05/1837 | 61 ans | 1776 | |||
12 | DELFOS Justine | F | 27/04/1895 | 81 ans | 1814 | DELFOS Vidal | DELFOS Jeanne | PAGES Casimir |
6 | DUMAS Marie Jeanne | F | 26/07/1801 | 19 mois | 1799 | DUMAS Claude | MARTIN Delphine | |
5 | TALON Barthélémy | M | 26/06/1763 | 80 ans | 1683 |
Mise en forme
Votre tableau étant maintenant réalisé, rendez-vous dans le Manuel de l'éditeur pour mettre en valeur votre réalisation par des enrichissements de caractères.