Bonjour,
Je vous conseille d'utiliser le second fichier. Si certaines options ne vous conviennent pas, remonter l'information et je modifierais le fichier.
Dans le second fichier cela fonctionne, j'ai comparé les 2 et je ne parviens pas à trouver où est l'erreur.
Il faut prendre un soin tout particulier concernant le nommage des colonnes; J'ai remarqué que certaine se terminaient avec un espace. Ce qui provoquait l'erreur.
Vous remarquerez que j'utilise le moins possible des noms en dur dans le programme. Concernant les noms de colonnes vous pouvez modifier leurs noms dans le module Factory, sur la méthode GetDataColumnNames() Cela vous permet de ne pas devoir vérifier tout le code si changement il y a.
De plus cela vous permet aussi de vous affranchir du placement de la colonne; Puisque nous travaillons avec son nom et pas son index, (Qui comme vous l'avez si bien fait remarquer peut changer).
'@Description "Retourne les noms de colonnes pour le tableau Data."
Public Function GetDataColumnNames( _
) As DataColumns
Dim Columns As DataColumns
With Columns
' // En cas de changement de nom des colonnes _
au niveau du tableau de balades faire les modifications ici.
.Closures = "Fermetures"
.Communes = "Communes"
.Country = "Pays"
.DateBalade = "Date"
.Duration = "Durées"
.ID = "ID"
.KilometerCategories = "Km (cat)"
.KilometerNumber = "Km (nbr)"
.MotoGroup = "Groupes motos"
.Name = "Nom de la balade"
.Notes = "Notes"
.Regions = "Régions"
.Restaurants = "Restaurants"
End With
GetDataColumnNames = Columns
End Function
Le module RibbonX contient les procédures qui sont lancées par les boutons du ruban. Pour les boutons Preview et Print aucun code n'a été fait.
Le module Callbacks contient les procédures de gestion du ruban, Bien essayer de comprendre leurs fonctionnements avant d'y changer quoi que ce soit.
Le module TabsManagement contient les procédures de gestion des tableaux. Dedans se trouve la fonction qui renvoie la valeur max de la colonne "ID" par exemple, incrémentée de 1 ou pas.
Voilà bonne programmation.