Aide:Transformer un tableau Excel en tableau WikiGenWeb : Différence entre versions

De WikiGenWeb
Aller à : navigation, rechercher
(Dans les lignes du tableau)
m
 
(82 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Construction}}
+
===Objectif===
==Excel==
+
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.
  
===Vous disposez d'un tableau de cette forme :===
+
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.
{|border=1 cellspacing=2 cellpadding=5
 
|-
 
!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|| || ||
 
|}
 
  
 +
Les clauses de style que ce soit pour la couleur, la police, la mise en page etc.... seront ignorés.
  
===Commencez par insérer une nouvelle ligne en haut :===
+
===Source et cible===
{|border=1 cellspacing=2 cellpadding=5
+
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|| || ||
 
|}
 
  
 
+
{| class=wikitable
===Dans  les cases A1, B1, C1 et D1===
+
|- style="background-color:#afeeee;"
ajoutez  les caractères  {{Coloré|red|'''<nowiki>|-</nowiki>'''}} ,  {{Coloré|darkblue|'''<nowiki>|</nowiki>'''}},  {{Coloré|darkgreen|'''<nowiki>||</nowiki>'''}} et  {{Coloré|brown|'''<nowiki><br /></nowiki>'''}}
+
|N°||Nom||Sx||Date||Age||Date de N||Père||Mère||Conjoint            
{|border=1 cellspacing=2 cellpadding=5
 
|-
 
|{{Coloré|red|'''<nowiki>|-</nowiki>'''}}||{{Coloré|darkblue|'''<nowiki>|</nowiki>'''}}||{{Coloré|darkgreen|'''<nowiki>||</nowiki>'''}}||{{Coloré|brown|'''<nowiki><br  /></nowiki>'''}}|| || || || || ||
 
|-
 
!N°||Nom||Sx||Date||Age||Date   de N||Père||Mère||Conjoint||
 
 
|-
 
|-
|8||CAYRÉ Jean   Louis||M||25/05/1837||61 ans||1776|| || || ||
+
|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||
+
|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|| ||
+
|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|| || || ||
+
|5||TALON Barthélémy||M||26/06/1763||80 ans||1683|| || ||            
 
|}
 
|}
  
 +
==Travaux à exécuter sur Excel==
 +
===Création du fichier===
 +
* '''Ouvrir votre classeur Excel ou placer une copie de votre feuille dans un classeur vierge'''<br />Le tableau pris en compte démarrera en cellule A1 quel que soit l'emplacement de vos données.
  
;{{coloré|darkblue|NB}} : {{coloré|darkblue|transformer A1 en $A$1 s'obtient en appuyant 1 fois sur la touche de fonction F4}}
+
===Création d'une macro===
 
+
* '''Passer en création de macro pour venir sur la page de saisie du code VBA'''
===Utilisez  la fonction =CONCATENER()===
 
dans  la case J2 pour générer la ligne 2 en  wikitexte ; puis tirer vers le  bas sur la poignée pour générer toutes  les lignes du tableau :
 
{|border=1 cellspacing=1 cellpadding=1
 
|-
 
|{{Coloré|red|'''<nowiki>|-</nowiki>'''}}||{{Coloré|darkblue|'''<nowiki>|</nowiki>'''}}||{{Coloré|darkgreen|'''<nowiki>||</nowiki>'''}}||{{Coloré|brown|'''<nowiki><br  /></nowiki>'''}}|| || || || || ||
 
|-
 
!N°||Nom||Sx||Date||Age||Date    de  N||Père||Mère||Conjoint||=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A2;{{Coloré|darkgreen|$C$1}};B2;{{Coloré|darkgreen|$C$1}};C2;{{Coloré|darkgreen|$C$1}};D2;{{Coloré|darkgreen|$C$1}};E2;{{Coloré|darkgreen|$C$1}};F2;{{Coloré|darkgreen|$C$1}};G2;{{Coloré|darkgreen|$C$1}};H2;{{Coloré|darkgreen|$C$1}};I2{{Coloré|brown|$D$1}}) 
 
|-
 
|8||CAYRÉ Jean Louis||M||25/05/1837||61 ans||1776|| ||  ||  ||'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A3;{{Coloré|darkgreen|$C$1}};B3;{{Coloré|darkgreen|$C$1}};C3;{{Coloré|darkgreen|$C$1}};D3;{{Coloré|darkgreen|$C$1}};E3;{{Coloré|darkgreen|$C$1}};F3;{{Coloré|darkgreen|$C$1}};G3;{{Coloré|darkgreen|$C$1}};H3;{{Coloré|darkgreen|$C$1}};I3;{{Coloré|brown|$D$1}})'''
 
|-
 
|12||DELFOS  Justine||F||27/04/1895||81 ans||1814||DELFOS Vidal||DELFOS  Jeanne||PAGES  Casimir||'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A4;{{Coloré|darkgreen|$C$1}};B4;{{Coloré|darkgreen|$C$1}};C4;{{Coloré|darkgreen|$C$1}};D4;{{Coloré|darkgreen|$C$1}};E4;{{Coloré|darkgreen|$C$1}};F4;{{Coloré|darkgreen|$C$1}};G4;{{Coloré|darkgreen|$C$1}};H4;{{Coloré|darkgreen|$C$1}};I4;{{Coloré|brown|$D$1}})'''
 
|-
 
|6||DUMAS  Marie  Jeanne||F||26/07/1801||19 mois||1799||DUMAS Claude||MARTIN  Delphine||  ||'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A5;{{Coloré|darkgreen|$C$1}};B5;{{Coloré|darkgreen|$C$1}};C5;{{Coloré|darkgreen|$C$1}};D5;{{Coloré|darkgreen|$C$1}};E5;{{Coloré|darkgreen|$C$1}};F5;{{Coloré|darkgreen|$C$1}};G5;{{Coloré|darkgreen|$C$1}};H5;{{Coloré|darkgreen|$C$1}};I5;{{Coloré|brown|$D$1}})'''
 
|-
 
|5||TALON    Barthélémy||M||26/06/1763||80 ans||1683|| || ||  ||'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A6;{{Coloré|darkgreen|$C$1}};B6;{{Coloré|darkgreen|$C$1}};C6;{{Coloré|darkgreen|$C$1}};D6;{{Coloré|darkgreen|$C$1}};E6;{{Coloré|darkgreen|$C$1}};F6;{{Coloré|darkgreen|$C$1}};G6;{{Coloré|darkgreen|$C$1}};H6;{{Coloré|darkgreen|$C$1}};I6;{{Coloré|brown|$D$1}})'''
 
|}
 
<br />
 
<br />
 
 
 
==WikiGenWeb==
 
 
 
===Dans l'éditeur de WikiGenWeb===
 
:ouvrez un tableau grace au code {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}
 
:collez les lignes J2:J6 (celles qui contiennent la fonction =CONCATENER(bla;bla;bla)
 
:fermez le tableau grace au code {{Coloré|blue|<big><nowiki>|</nowiki></big>}}{{Coloré|red|<big><nowiki>}</nowiki></big>}}
 
 
 
Ce qui donne :<br />
 
{{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}<br />
 
'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A2;{{Coloré|darkgreen|$C$1}};B2;{{Coloré|darkgreen|$C$1}};C2;{{Coloré|darkgreen|$C$1}};D2;{{Coloré|darkgreen|$C$1}};E2;{{Coloré|darkgreen|$C$1}};F2;{{Coloré|darkgreen|$C$1}};G2;{{Coloré|darkgreen|$C$1}};H2;{{Coloré|darkgreen|$C$1}};I2{{Coloré|brown|$D$1}})'''<br  /> 
 
'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A3;{{Coloré|darkgreen|$C$1}};B3;{{Coloré|darkgreen|$C$1}};C3;{{Coloré|darkgreen|$C$1}};D3;{{Coloré|darkgreen|$C$1}};E3;{{Coloré|darkgreen|$C$1}};F3;{{Coloré|darkgreen|$C$1}};G3;{{Coloré|darkgreen|$C$1}};H3;{{Coloré|darkgreen|$C$1}};I3;{{Coloré|brown|$D$1}})'''<br  /> 
 
'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A4;{{Coloré|darkgreen|$C$1}};B4;{{Coloré|darkgreen|$C$1}};C4;{{Coloré|darkgreen|$C$1}};D4;{{Coloré|darkgreen|$C$1}};E4;{{Coloré|darkgreen|$C$1}};F4;{{Coloré|darkgreen|$C$1}};G4;{{Coloré|darkgreen|$C$1}};H4;{{Coloré|darkgreen|$C$1}};I4;{{Coloré|brown|$D$1}})'''<br  /> 
 
'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A5;{{Coloré|darkgreen|$C$1}};B5;{{Coloré|darkgreen|$C$1}};C5;{{Coloré|darkgreen|$C$1}};D5;{{Coloré|darkgreen|$C$1}};E5;{{Coloré|darkgreen|$C$1}};F5;{{Coloré|darkgreen|$C$1}};G5;{{Coloré|darkgreen|$C$1}};H5;{{Coloré|darkgreen|$C$1}};I5;{{Coloré|brown|$D$1}})'''<br  /> 
 
'''=CONCATENER({{Coloré|red|$A$1}};{{Coloré|brown|$D$1}};{{Coloré|darkblue|$B$1}};A6;{{Coloré|darkgreen|$C$1}};B6;{{Coloré|darkgreen|$C$1}};C6;{{Coloré|darkgreen|$C$1}};D6;{{Coloré|darkgreen|$C$1}};E6;{{Coloré|darkgreen|$C$1}};F6;{{Coloré|darkgreen|$C$1}};G6;{{Coloré|darkgreen|$C$1}};H6;{{Coloré|darkgreen|$C$1}};I6;{{Coloré|brown|$D$1}})'''<br  /> 
 
{{Coloré|blue|<big><nowiki>|</nowiki></big>}}{{Coloré|red|<big><nowiki>}</nowiki></big>}}
 
 
 
===Ce qui donne, une fois validé===
 
{|
 
|-
 
|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|| || ||
 
|}
 
 
 
;Pas très chouette : Il faut ajouter le '''quadrillage''', les '''titres de colonne''', l''''épaisseur des traits''' et l''''espace''' entre traits et texte.
 
 
 
==Mise en forme==
 
===Le quadrillage ===
 
:ajoutez  le code  {{coloré|brown|<nowiki>border=1</nowiki>}} au code d'ouverture du tableau  {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}} 
 
:{{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}} {{coloré|brown|<nowiki>border=1</nowiki>}}
 
 
 
====ce qui donne====
 
{|border=1
 
|-
 
|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|| || ||
 
|}
 
 
 
Ça ressemble enfin à un tableau !
 
 
 
===Titres de colonnes===
 
====Remplacez pour la première ligne uniquement====
 
:{{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}
 
:<nowiki>|-</nowiki>
 
:{{Coloré|brown|<big>'''<nowiki>|</nowiki>'''</big>}} N° {{Coloré|brown|<nowiki>|</nowiki>}}{{Coloré|brown|<nowiki>|</nowiki>}} etc...
 
;par
 
:{{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}
 
:<nowiki>|-</nowiki>
 
:{{Coloré|brown|<big>'''<nowiki>!</nowiki>'''</big>}} N° {{Coloré|brown|<nowiki>|</nowiki>}}{{Coloré|brown|<nowiki>|</nowiki>}} etc...
 
 
 
Le {{Coloré|brown|<big>'''<nowiki>!</nowiki>'''</big>}} au lieu du 1° {{Coloré|brown|<big>'''<nowiki>|</nowiki>'''</big>}} force tous les titres en '''gras'''.
 
 
 
====Ce qui donne====
 
{|
 
|-
 
!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|| || ||
 
|}
 
 
 
  
Et le quadrillage, il est passé où ?
+
* '''Copier la macro ci-dessous sur la page affichée'''
  
====Quadrillage et titres====
+
<pre>
{|border=1
+
Private Const LeFichier As String = "c:\excel-to-mediawiki.txt"
|-
+
Sub xls_to_wgw()
!N°||Nom||Sx||Date||Age||Date   de N||Père||Mère||Conjoint
+
     
|-
+
  On Error Resume Next 
|8||CAYRÉ Jean   Louis||M||25/05/1837||61 ans||1776|| || ||
+
  titre = "Excel to WikiGenWeb" 
|-
+
     
|12||DELFOS   Justine||F||27/04/1895||81 ans||1814||DELFOS Vidal||DELFOS Jeanne||PAGES Casimir
+
  ncols = Application.InputBox("Nombre de colonnes à partir de A ?", titre) 
|-
+
  nrows = Application.InputBox("Nombre de lignes à partir de 1 ?", titre) 
|6||DUMAS Marie   Jeanne||F||26/07/1801||19 mois||1799||DUMAS Claude||MARTIN Delphine||
+
     
|-
+
  Range("A1:" & Chr(ncols + 64) & "1").Select 
|5||TALON   Barthélémy||M||26/06/1763||80 ans||1683|| || ||
+
  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 
 +
     
 +
  On Error GoTo 0 
 +
  Set fs = CreateObject("Scripting.FileSystemObject") 
 +
  Set a = fs.CreateTextFile(LeFichier, 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 " & LeFichier & " que vous devez copier dans votre article." & vbCrLf _ 
 +
  & ncols & " colonnes." & vbCrLf & nrows & " lignes." 
 +
     
 +
End Sub
  
 +
</pre>
  
Tout est tassé. Ça manque d'espace.
 
  
===Quadrillage plus large ===
+
'''Ne pas fermer la page des macros et cocher une référence supplémentaire obligatoire.'''
:ajoutez  le code  {{coloré|green|<nowiki>cellspacing=5</nowiki>}} au code  d'ouverture  de  tableau {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}&nbsp;{{coloré|brown|<nowiki>border=1</nowiki>}} ; ce qui donne    {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}&nbsp;{{coloré|brown|<nowiki>border=1</nowiki>}}&nbsp;{{coloré|green|<nowiki>cellspacing=5</nowiki>}}
+
*Cliquer sur menu : outils et ensuite sur références
====Résultat====
+
*Cocher la case Microsoft Scripting Runtime dans la liste affichée
{|border=1 cellspacing=5
+
*Cliquer sur OK
|-
+
*Enregistrer
!N°||Nom||Sx||Date||Age||Date  de N||Père||Mère||Conjoint
+
*Fermer la page des macros
|-
 
|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|| || ||
 
|}
 
  
 +
===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
  
Le texte est écrasé par la bordure trop large.
+
* '''Ouvrir le fichier ci-dessus avec un éditeur type bloc-notes, notepad++ etc…<br />(dans l'explorateur, faire un double-click sur le nom pour l'ouvrir avec l'éditeur par défaut).
;NB
+
* '''Dans l'éditeur :'''
:vous pouvez faire varier {{coloré|green|<nowiki>cellspacing=...</nowiki>}} de 0 à ...
+
**'''Sélectionner tout'''
 +
**'''Copier dans le presse-papier'''
  
===Marge intérieure de cellule entre quadrillage et le texte===
+
==Création du tableau sous WikiGenWeb==
:ajoutez  le code  {{coloré|blue|<nowiki>cellpadding=10</nowiki>}} au code  d'ouverture de  tableau {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}&nbsp;{{coloré|brown|<nowiki>border=1</nowiki>}} ; ce qui donne {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}&nbsp;{{coloré|brown|<nowiki>border=1</nowiki>}}&nbsp;{{coloré|blue|<nowiki>cellpadding=10</nowiki>}}
+
* '''Placez-vous à l'endroit où le tableau doit apparaître, faîtes un coller.'''
====Résultat====
+
* '''Vous devez obtenir ce texte :'''
{|border=1 cellpadding=10
+
<pre>
|-
+
{| class=wikitable
!N°||Nom||Sx||Date||Age||Date   de N||Père||Mère||Conjoint
+
<!-- (L 1) -->|-
|-
+
|N°||Nom||Sx||Date||Age||Date de N||Père||Mère||Conjoint
|8||CAYRÉ Jean   Louis||M||25/05/1837||61 ans||1776|| || ||  
+
<!-- (L 2) -->|-
|-
+
|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
+
<!-- (L 3) -->|-
|-
+
|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||  
+
<!-- (L 4) -->|-
|-
+
|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|| || ||  
+
<!-- (L 5) -->|-
 +
|5||TALON Barthélémy||M||26/06/1763||80 ans||1683||||||
 
|}
 
|}
 +
</pre>
  
  
Cette fois le texte est un peu perdu dans le quadrillage.
+
* '''Votre tableau est terminé : Cliquer sur Prévisualiser'''
;NB
+
* '''Vous devez obtenir ce tableau :'''
:vous pouvez aussi faire varier {{coloré|blue|<nowiki>cellpadding=...</nowiki>}} de 1 à ...
 
  
===En combinaison ===
+
{| class=wikitable
:ce qui donne {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}&nbsp;{{coloré|brown|<nowiki>border=1</nowiki>}}&nbsp;{{coloré|green|<nowiki>cellspacing=5</nowiki>}}&nbsp;{{coloré|blue|<nowiki>cellpadding=10</nowiki>}}
+
<!-- (L 1) -->|-
====Résultat====
+
|N°||Nom||Sx||Date||Age||Date de N||Père||Mère||Conjoint
{|border=1 cellspacing=5 cellpadding=10
+
<!-- (L 2) -->|-
|-
+
|8||CAYRÉ Jean Louis||M||25/05/1837||61 ans||1776||||||
!N°||Nom||Sx||Date||Age||Date   de N||Père||Mère||Conjoint
+
<!-- (L 3) -->|-
|-
+
|12||DELFOS Justine||F||27/04/1895||81 ans||1814||DELFOS Vidal||DELFOS Jeanne||PAGES Casimir
|8||CAYRÉ Jean   Louis||M||25/05/1837||61 ans||1776|| || ||  
+
<!-- (L 4) -->|-
|-
+
|6||DUMAS Marie Jeanne||F||26/07/1801||19 mois||1799||DUMAS Claude||MARTIN Delphine||
|12||DELFOS  Justine||F||27/04/1895||81 ans||1814||DELFOS Vidal||DELFOS Jeanne||PAGES Casimir
+
<!-- (L 5) -->|-
|-
+
|5||TALON Barthélémy||M||26/06/1763||80 ans||1683||||||
|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|| || ||
 
|}
 
 
 
===Varier les valeurs===
 
:Enfin vous pouvez faire  varier toutes les valeurs de {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}&nbsp;{{coloré|brown|<nowiki>border=1</nowiki>}}&nbsp;{{coloré|green|<nowiki>cellspacing=...</nowiki>}}&nbsp;{{coloré|blue|<nowiki>cellpadding=...</nowiki>}} jusqu'à ce que vous obteniez la présentation que vous souhaitez.
 
====Exemple====
 
Avec {{Coloré|red|<big><nowiki>{</nowiki></big>}}{{Coloré|blue|<big><nowiki>|</nowiki></big>}}&nbsp;{{coloré|brown|<nowiki>border=1</nowiki>}}&nbsp;{{coloré|green|<nowiki>cellspacing=8</nowiki>}}&nbsp;{{coloré|blue|<nowiki>cellpadding=3</nowiki>}}
 
{|border=1 cellspacing=8 cellpadding=3
 
|-
 
!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|| || ||
 
|}
 
==Ajouter de la couleur==
 
===Dans la ligne de titre===
 
Placer code couleur {{coloré|green|'''<nowiki>#afeeee</nowiki>'''}} à droite du 1{{exposant|er}} {{coloré|red|<big>'''<nowiki>|-</nowiki>'''</big>}} dans la balise {{coloré|blue|'''<nowiki>style="background-color: "</nowiki>'''}}. <br />
 
Ecrire : {{coloré|red|<big>'''<nowiki>|-</nowiki>'''</big>}}&nbsp;{{coloré|blue|'''<nowiki>style="background-color:</nowiki>'''}}{{coloré|green|'''<nowiki>#afeeee </nowiki>'''}}{{coloré|blue|'''<nowiki>"</nowiki>'''}}
 
{|border=1 cellspacing=5 cellpadding=10
 
|-style="background-color:#afeeee"
 
!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|| || ||  
 
 
|}
 
|}
  
===Dans les lignes du tableau===
+
De même pour le {{coloré|red|<big>'''<nowiki>|-</nowiki>'''</big>}}&nbsp;{{coloré|blue|'''<nowiki>style="background-color:</nowiki>'''}}{{coloré|green|'''<nowiki>#... </nowiki>'''}}{{coloré|blue|'''<nowiki>"</nowiki>'''}} de chaque ligne<br />
+
*'''Cliquer sur Publier'''
{{coloré|red|<big>'''<nowiki>|-</nowiki>'''</big>}}&nbsp;{{coloré|blue|'''<nowiki>style="background-color:</nowiki>'''}}{{coloré|green|'''<nowiki>#eee8aa</nowiki>'''}}{{coloré|blue|'''<nowiki>"</nowiki>'''}}<br />
 
{{coloré|red|<big>'''<nowiki>|-</nowiki>'''</big>}}&nbsp;{{coloré|blue|'''<nowiki>style="background-color:</nowiki>'''}}{{coloré|green|'''<nowiki>#ffdab9</nowiki>'''}}{{coloré|blue|'''<nowiki>"</nowiki>'''}}<br />
 
{{coloré|red|<big>'''<nowiki>|-</nowiki>'''</big>}}&nbsp;{{coloré|blue|'''<nowiki>style="background-color:</nowiki>'''}}{{coloré|green|'''<nowiki>#c0c0c0</nowiki>'''}}{{coloré|blue|'''<nowiki>"</nowiki>'''}}<br />
 
{|border=1 cellspacing=5 cellpadding=10
 
|-
 
!N°||Nom||Sx||Date||Age||Date  de N||Père||Mère||Conjoint
 
|-style="background-color:#eee8aa"
 
|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
 
|-style="background-color:#ffdab9"
 
|6||DUMAS Marie  Jeanne||F||26/07/1801||19 mois||1799||DUMAS Claude||MARTIN Delphine||
 
|-style="background-color:#c0c0c0"
 
|5||TALON  Barthélémy||M||26/06/1763||80 ans||1683|| || ||
 
|}
 
  
===Par colonne===
+
===Mise en forme===
{|border=1 cellspacing=5 cellpadding=10
 
|-
 
!N°||Nom||style="background-color:#9acd32"|Sx||Date||Age||Date  de N||Père||Mère||Conjoint
 
|-
 
|8||CAYRÉ Jean  Louis||style="background-color:#9acd32"|M||25/05/1837||61 ans||1776|| || ||
 
|-
 
|12||DELFOS  Justine||style="background-color:#9acd32"|F||27/04/1895||81 ans||1814||DELFOS Vidal||DELFOS Jeanne||PAGES Casimir
 
|-
 
|6||DUMAS Marie  Jeanne||style="background-color:#9acd32"|F||26/07/1801||19 mois||1799||DUMAS Claude||MARTIN Delphine||
 
|-
 
|5||TALON  Barthélémy||style="background-color:#9acd32"|M||26/06/1763||80 ans||1683|| || ||
 
|}
 
  
==Et plus==
+
Votre tableau étant maintenant réalisé, rendez-vous dans le [[Aide:Manuel de l'éditeur|Manuel de l'éditeur]] pour mettre en valeur votre réalisation par des enrichissements de caractères.
  
{|border=1 cellspacing=1 cellpadding=5
+
== Eviter une intrusion dans le disque C:\==
|-bgcolor="#98fb98"
+
;Si vous voulez éviter une intrusion dans le disque '''C''', remplacez la lettre du disque indiquée dans le nom du fichier sur la première ligne du code VBA.<br /> 
!N°||Nom||Sx||Date||Age||Date    de N||Père||Mère||Conjoint||Témoin 1||Témoin 2||Commentaire    défunt||Commentaire père||Commentaire mère||Commentaire témoin  1||Commentaire  témoin 2||Cote||Libre
+
<code>
|-bgcolor="#b0e0e6"
+
  <s>Private Const LeFichier As String = "c:\excel-to-mediawiki.txt"</></s><br />
|8||CAYRÉ Jean    Louis||M||25/05/1837||61 ans|||| || || ||BLANC Pierre||NOGARET Pierre  Paul  Casimir||hab Alais, de passage dans cette ville||||||Infirmier de  l'hospice  d'Alais, 77 ans||militaire en congé  illimité||30FGW11_044||2MI 075 Vue 218
+
  Private Const LeFichier As String = "<b><u>D:</u></b>\excel-to-mediawiki.txt"
|-bgcolor="#b0e0e6"    
+
</code>
|12||DELFOS    Justine||F||27/04/1895||81 ans||||DELFOS Vidal||DELFOS Jeanne||PAGES    Casimir|| || ||† à la maison de santé  protestante||||||||||30FGW11_060||CDROM  CD6/151 2Mi124, vue 84
 
|-bgcolor="#b0e0e6"
 
|6||DUMAS Marie  Jeanne||F||26/07/1801||19 mois||||DUMAS Claude||MARTIN Delphine|| || ||  ||||||||||||30FGW11_010||
 
|-bgcolor="#b0e0e6"  
 
|5||TALON  Barthelemy||M||26/06/1763||80|||| || || || || ||||||||||||30FGW10_320||
 
|}
 
  
 +
Vous pouvez utiliser n'importe quel support (disque, clé USB ...) à condition que celui-ci soit inscriptible et non protégé.
  
 +
Si une erreur est détectée dans votre nouveau nom de fichier, le message "Chemin d'accès introuvable" est affiché et le fichier n'est pas créé.
 
{{Palette aide}}
 
{{Palette aide}}
 
[[Catégorie:Aide|{{PAGENAME}}]]
 
[[Catégorie:Aide|{{PAGENAME}}]]

Version actuelle en date du 15 mars 2011 à 22:58

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.

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 classeur Excel ou placer une copie de votre feuille dans un classeur vierge
    Le tableau pris en compte démarrera en cellule A1 quel que soit l'emplacement de vos données.

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
Private Const LeFichier As String = "c:\excel-to-mediawiki.txt"
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   
      
  On Error GoTo 0   
  Set fs = CreateObject("Scripting.FileSystemObject")   
  Set a = fs.CreateTextFile(LeFichier, 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 " & LeFichier & " 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ù le tableau doit apparaître, faîtes un coller.
  • Vous devez obtenir ce texte :
{| class=wikitable
<!-- (L 1) -->|-
|N°||Nom||Sx||Date||Age||Date de N||Père||Mère||Conjoint
<!-- (L 2) -->|-
|8||CAYRÉ Jean Louis||M||25/05/1837||61 ans||1776||||||
<!-- (L 3) -->|-
|12||DELFOS Justine||F||27/04/1895||81 ans||1814||DELFOS Vidal||DELFOS Jeanne||PAGES Casimir
<!-- (L 4) -->|-
|6||DUMAS Marie Jeanne||F||26/07/1801||19 mois||1799||DUMAS Claude||MARTIN Delphine||
<!-- (L 5) -->|-
|5||TALON Barthélémy||M||26/06/1763||80 ans||1683||||||
|}


  • Votre tableau est terminé : Cliquer sur Prévisualiser
  • Vous devez obtenir ce tableau :
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


  • Cliquer sur Publier

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.

Eviter une intrusion dans le disque C:\

Si vous voulez éviter une intrusion dans le disque C, remplacez la lettre du disque indiquée dans le nom du fichier sur la première ligne du code VBA.

 Private Const LeFichier As String = "c:\excel-to-mediawiki.txt"</>
Private Const LeFichier As String = "D:\excel-to-mediawiki.txt"

Vous pouvez utiliser n'importe quel support (disque, clé USB ...) à condition que celui-ci soit inscriptible et non protégé.

Si une erreur est détectée dans votre nouveau nom de fichier, le message "Chemin d'accès introuvable" est affiché et le fichier n'est pas créé.