ComptaNat.fr
 
  Le site de la comptabilité nationale  
 
 
 

Outils divers

La méthode RAS

Les comptables nationaux sont souvent appelés à travailler sur des tableaux qu'ils doivent équilibrer. La méthode RAS peut les aider dans cet exercice, elle consiste à partir d'un tableau équilibré et à se donner pour objectif de parvenir à un nouveau tableau dont les totaux en lignes et en colonnes sont légèrement différents des totaux du tableau d'origine, et cela en modifiant le moins possible la structure du tableau initial. Par exemple, on part du tableau ci-dessous et on souhaite le modifier de manière que les totaux de ses lignes et de ses colonnes deviennent TC et TL :

L'idée de la méthode est simple, il consiste à calculer un premier tableau dérivé du tableau d'origine en multipliant chacune des cellules du tableau par un coefficient de redressement de manière à parvenir à un tableau dont le total des lignes est calé sur l'objectif, puis de corriger ce premier tableau de manière à obtenir un tableau dont le total des colonnes est calé sur l'objectif. Le total des lignes n'est alors plus calé sur l'objectif initial et il faut procéder à des itérations.

Le programme Visual Basic ci-dessous montre comment procéder :

Sub RAS()
Dim D(4, 4)
Dim DL(4, 4)
Dim TLD(4)
Dim TL(4)
Dim TC(4)
Dim TCDL(4)

Set f = Sheets("PAC")
'Saisie de la matrice D des données initiales
For i = 1 To 3
For j = 1 To 3
D(i, j) = f.Cells(i + 1, j + 1)
Next j
Next i
'Saisie de la matrice TC, matrice cible du total des colonnes
For i = 1 To 3
TC(i) = f.Cells(i + 1, 6)
Next i
'Saisie de la matrice TL, matrice cible du total des lignes
For j = 1 To 3
TL(j) = f.Cells(6, j + 1)
Next j

'Début de la boucle d'itérations
For k = 1 To 10

'Initialisation des totaux de la matrice D
For j = 1 To 3
TLD(j) = 0
Next j
'Calcul des totaux de la matrice D
For i = 1 To 3
For j = 1 To 3
TLD(j) = TLD(j) + D(i, j)
Next j
Next i
'Initialisation de la matrice TCDL du total des colonnes de DL
For i = 1 To 3
TCDL(i) = 0
Next i
'Calcul de la matrice DL dont le total des lignes est calé sur la cible
For i = 1 To 3
For j = 1 To 3
DL(i, j) = D(i, j) * TL(j) / TLD(j)
TCDL(i) = TCDL(i) + DL(i, j)
Next j
Next i
'Calcul de la matrice D dont le total des colonnes est calé sur la cible
For i = 1 To 3
For j = 1 To 3
D(i, j) = DL(i, j) * TC(i) / TCDL(i)
Next j
Next i

Next k
'Fin de la boucle d'itérations

'Affichage du résultat
For i = 1 To 3
For j = 1 To 3
f.Cells(i + 9, j + 1) = D(i, j)
Next j
Next i

End Sub

Le résultat est le suivant :

 

Utilisation du publipostage de Word

L’utilisation du publipostage de Word peut s’avérer très utile dans de nombreuses circonstances. Il permet, en effet, de personnaliser un texte en y insérant des informations provenant d’une base de données. Nous prendrons l'exemple de la rédaction d'un contrat standard pour plusieurs personnes.

Nous devrons disposer de deux documents : un document Word contenant le texte du contrat standard et une feuille de calcul Excel contenant les informations personnelles à faire figurer dans le contrat.

La feuille de calcul Excel

La première étape consiste à réaliser une feuille de calcul Excel contenant toutes les informations personnelles des signataires devant figurer sur le contrat. Dans la feuille de calcul, les lignes correspondront aux signataires et les colonnes aux informations à faire figurer dans le contrat. Par exemple, supposons que l’on veuille saisir le nom, le prénom et la date de naissance de quatre personnes :

Pierre Martin
Henri Dupont
Laure Durand
Anne Lemoine

La feuille de calcul devra se présenter ainsi :

Notons que sur la première ligne nous devons donner des titres aux colonnes.

Nous devons ensuite enregistrer cette feuille de calcul dans un dossier. Par exemple, nous l’appelons Signataires.xlsx et nous la stockons dans le dossier C:\Contrats.

Le document Word

Nous devons disposer d’un modèle de contrat dans Word. Par exemple :

Contrat d’Engagement

Entre la société XYZ, d’une part, et d’autre part l’intéressé :

Nom :
Prénom :
Date de naissance :

Supposons que le nom du document Word soit ModèleContrat.docx et qu’il soit stocké dans le dossier C:\Contrats.

Pour remplir automatiquement ce contrat pour les 4 signataires, nous devons introduire des champs que Word appelle des champs de fusion.

Pour cela, nous devons tout d’abord créer un lien entre notre document Word et notre feuille Excel en allant dans le menu Publipostage et en sélectionnant Démarrer la fusion et le publipostage.

Sélectionnons Document Word Normal.

Ensuite, dans le menu Publipostage de Word, nous devons choisir Sélection des destinataires. Nous devons sélectionner Utiliser une liste existante puis la feuille de calcul Excel Signataires.xlsx du dossier C:\Contrats. Le message suivant apparaît :

Il faut cliquer sur OK.

Il faut maintenant insérer les champs de fusion dans le document Word. Pour cela, il faut se placer à l’endroit où l’on veut introduire le champ de fusion, par exemple à côté de Nom :, puis sélectionner Insérer un champ de fusion dans le menu Publipostage.

La liste des champs de fusion apparaît alors, le nom de chaque champ de fusion correspond au titre d’une colonne de la feuille de calcul Excel. Sélectionnons le champ Nom, le document devient :

Contrat d’Engagement

Entre la société XYZ, d’une part, et d’autre part l’intéressé :

Nom : «Nom»
Prénom :
Date de naissance :

Faisons la même chose pour Prénom et Date de naissance, nous obtenons :

Contrat d’Engagement

Entre la société XYZ, d’une part, et d’autre part l’intéressé :

Nom : «Nom»
Prénom : «Prénom»
Date de naissance : «Date_de_naissance»

Nous pouvons maintenant lancer la fusion en cliquant sur Terminer et fusionner. Choisissons, par exemple, Modifier des documents individuels. Nous obtenons un document Word de 4 pages, chaque page correspondant à un signataire. Par exemple, la première page apparaît ainsi :

Contrat d’Engagement

Entre la société XYZ, d’une part, et d’autre part l’intéressé :

Nom : Martin
Prénom : Pierre
Date de naissance : 10/15/2008

Nous voyons apparaître un problème, la date de naissance que nous avions saisie sous la forme 15/10/2008 apparaît sous la forme 10/15/2008, c’est-à-dire sous un format américain.

Pour éviter cet inconvénient, nous devons modifier le champ de fusion Date_de_naissance afin de l’obliger à utiliser le format de date français. Pour cela, nous allons utiliser le commutateur \@ dans le champ Date_de_naissance après avoir appuyé sur Alt F9 qui fait apparaître :

Contrat d’Engagement

Entre la société XYZ, d’une part, et d’autre part l’intéressé :

Nom : {MERGEFIELD Nom}
Prénom : {MERGEFIELD Prénom}
Date de naissance : {MERGEFIELD Date_de_naissance}

Nous allons introduire le format de date français de la manière suivante :

{MERGEFIELD \@ "dd/MM/yyyy" Date_de_naissance}

En relançant la fusion, nous obtenons :

Contrat d’Engagement

Entre la société XYZ, d’une part, et d’autre part l’intéressé :

Nom : Martin
Prénom : Pierre
Date de naissance : 15/10/2008

La date apparaît bien au bon format dans tous les contrats. Lorsqu’il y a plusieurs champs au format date, il faut introduire cette modification dans chaque champ. On pourrait modifier le format. Par exemple :

{MERGEFIELD \@ "DDDD dd MMMM yyyy" Date_de_naissance}

donnerait :

Date de naissance : mercredi 15 octobre 2008

Notons que si le fichier Excel est modifié, il faut revenir dans la sélection des destinataires pour que les modifications soient prises en compte.


Auteur : Francis Malherbe

 




 








Informatique
Comptabilité nationale
Économie
Comptabilité privée
 

  • Ce site n'utilise pas de cookies, ne collecte aucune information sur ses visiteurs et ne comprend pas de publicité