OVH Cloud OVH Cloud

Recopier les formules automatiquement

19 réponses
Avatar
dimitry83
Bonjour,
J'ai un tableau Excel dans lequel je compte insérer régulièrement des
nouvelles lignes. Est-il possible que les formules contenues dans les
cellules au dessus de la ligne insérée s'y recopient automatiquement
(en respectant bien sûr les adresses relatives employées dans les
formules)?
Merci d'avance
Natacha

9 réponses

1 2
Avatar
dimitry83
L'idée d'utiliser un formulaire est effectivement intéressante. Mais
comme mon tableau est lié à plein d'autres calculs dans d'autres
feuilles, j'aurais peut-être préféré faire une macro. Pour ne pas tout
recommencer.
Violà donc quelques précisions sur mon tableau.
La colonne A contient les emplacements des objets listés dans la
colonne B. La colonne C contient la formule qui affiche l'emplacement
de l'objet. Par ex.:

Garage____Pommes________Garage
__________Poires________Garage
__________Cerises_______Garage
__________Fraises_______Garage
Entrepot__Prunes________Entrepot
__________Peches________Entrepot
__________Poires________Entrepot
__________Bananes_______Entrepot
Terasse___Cerises_______Terasse
__________Fraises_______Terasse
__________Prunes________Terasse

Les colonnes suivantes contiennet d'autres calculs par rapport à la
colonne B qui contient la liste principale de tous les objets.


Je vais agrandir systématiquement ce tableau. Par ex. aujourd'hui, je
veux rajouter les "Abricots" dans le "Garage".
Donc, je vais insérer une ligne entre la première et la quatrième et
je vais marquer "Abricots" dans la colonne B.

Ce que j'aurais aimé faire, c'est que les autres colonnes de cette
nouvelle ligne se remplissent automatiquement en recopiant les
formules respectives de la ligne juste au-dessus.

J'ai essayé d'utiliser AutoFill et FillDown mais comme je ne connais
pas beaucoup VBA, je n'y arrive pas toute seule.
Avatar
MichDenis
Bonjour dimitry83,

Essaie ceci en copiant ce code dans le module feuille où l'action se déroule :

à chaque fois que tu sélectionnes une cellule de la colonne A, si la cellule en b de cette ligne n'est pas vide, toute la ligne
précédente se recopie dans la ligne de la cellule sélectionnée. Cela est vrai sauf si dans la colonne A, tu as déjà une entrée
....car je n'étais pas sûr si les formules étaient les mêmes d'une catégorie à l'autre.

Évidemment, il peut y avoir des variantes selon ta façon de travailler !

'-------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
If Target.Column = Range("A1").Column Then
If Target = "" Then
If Target.Offset(, 1) <> "" Then
If Target.Row > 1 Then
L = Target.Row - 1
Set Rg = Range(Cells(L, 1), Cells(L, 256).End(xlToLeft))
Rg.Offset(, 2).Resize(2, Rg.Columns.Count - 1).FillDown
End If
End If
End If
End If
Set Rg = Nothing

End Sub
'-------------------------------


Salutations!



"dimitry83" a écrit dans le message de news:
L'idée d'utiliser un formulaire est effectivement intéressante. Mais
comme mon tableau est lié à plein d'autres calculs dans d'autres
feuilles, j'aurais peut-être préféré faire une macro. Pour ne pas tout
recommencer.
Violà donc quelques précisions sur mon tableau.
La colonne A contient les emplacements des objets listés dans la
colonne B. La colonne C contient la formule qui affiche l'emplacement
de l'objet. Par ex.:

Garage____Pommes________Garage
__________Poires________Garage
__________Cerises_______Garage
__________Fraises_______Garage
Entrepot__Prunes________Entrepot
__________Peches________Entrepot
__________Poires________Entrepot
__________Bananes_______Entrepot
Terasse___Cerises_______Terasse
__________Fraises_______Terasse
__________Prunes________Terasse

Les colonnes suivantes contiennet d'autres calculs par rapport à la
colonne B qui contient la liste principale de tous les objets.


Je vais agrandir systématiquement ce tableau. Par ex. aujourd'hui, je
veux rajouter les "Abricots" dans le "Garage".
Donc, je vais insérer une ligne entre la première et la quatrième et
je vais marquer "Abricots" dans la colonne B.

Ce que j'aurais aimé faire, c'est que les autres colonnes de cette
nouvelle ligne se remplissent automatiquement en recopiant les
formules respectives de la ligne juste au-dessus.

J'ai essayé d'utiliser AutoFill et FillDown mais comme je ne connais
pas beaucoup VBA, je n'y arrive pas toute seule.
Avatar
dimitry83
Voilà ce que j'ai fait moi-même:

For i = 6 To 384
If Range("Expo!G" & i) = "" Then
Sheets("Expo").Range("G" & i - 1, "G" & i).FillDown
Sheets("Expo").Range("H" & i - 1, "H" & i).FillDown
Sheets("Expo").Range("I" & i - 1, "I" & i).FillDown
Sheets("Expo").Range("J" & i - 1, "J" & i).FillDown
Sheets("Expo").Range("K" & i - 1, "K" & i).FillDown
Sheets("Expo").Range("L" & i - 1, "L" & i).FillDown
Sheets("Expo").Range("M" & i - 1, "M" & i).FillDown
Sheets("Expo").Range("N" & i - 1, "N" & i).FillDown
Sheets("Expo").Range("O" & i - 1, "O" & i).FillDown
Sheets("Expo").Range("P" & i - 1, "P" & i).FillDown
Sheets("Expo").Range("Q" & i - 1, "Q" & i).FillDown
Sheets("Expo").Range("R" & i - 1, "R" & i).FillDown
Sheets("Expo").Range("S" & i - 1, "S" & i).FillDown
i = i + 1
End If
Next

Mais pour que ça marche, il faut un bouton. Comment faire pour que la
macro se déclenche à la validation d'une des cellules de la colonne B
où j'inscris de nouveaux produits?
Avatar
MichDenis
Bonjour dimitry83,

Tu peux remplace la boucle et tout ceci :

dans la feuille module de ta feuille tu copies ceci :

J'ai supposé que tu faisais ta saisie en colonne B6:B384, modifie la colonne au besoin.

'----------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("B6:B384")) Is Nothing Then
Application.EnableEvents = False
Sheets("Expo").Range("G5:S384").FillDown
Application.EnableEvents = True
End If

End Sub
'----------------------------


Salutations!





"dimitry83" a écrit dans le message de news:
Voilà ce que j'ai fait moi-même:

For i = 6 To 384
If Range("Expo!G" & i) = "" Then
Sheets("Expo").Range("G" & i - 1, "G" & i).FillDown
Sheets("Expo").Range("H" & i - 1, "H" & i).FillDown
Sheets("Expo").Range("I" & i - 1, "I" & i).FillDown
Sheets("Expo").Range("J" & i - 1, "J" & i).FillDown
Sheets("Expo").Range("K" & i - 1, "K" & i).FillDown
Sheets("Expo").Range("L" & i - 1, "L" & i).FillDown
Sheets("Expo").Range("M" & i - 1, "M" & i).FillDown
Sheets("Expo").Range("N" & i - 1, "N" & i).FillDown
Sheets("Expo").Range("O" & i - 1, "O" & i).FillDown
Sheets("Expo").Range("P" & i - 1, "P" & i).FillDown
Sheets("Expo").Range("Q" & i - 1, "Q" & i).FillDown
Sheets("Expo").Range("R" & i - 1, "R" & i).FillDown
Sheets("Expo").Range("S" & i - 1, "S" & i).FillDown
i = i + 1
End If
Next

Mais pour que ça marche, il faut un bouton. Comment faire pour que la
macro se déclenche à la validation d'une des cellules de la colonne B
où j'inscris de nouveaux produits?
Avatar
MichDenis
Tu dois plutôt utiliser cette événement de la feuille : Désolé !


'---------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B6:B384")) Is Nothing Then
Application.EnableEvents = False
Sheets("Expo").Range("G5:S384").FillDown
Application.EnableEvents = True
End If
End Sub
'---------------------------


Salutations!



"MichDenis" a écrit dans le message de news:
Bonjour dimitry83,

Tu peux remplace la boucle et tout ceci :

dans la feuille module de ta feuille tu copies ceci :

J'ai supposé que tu faisais ta saisie en colonne B6:B384, modifie la colonne au besoin.

'----------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("B6:B384")) Is Nothing Then
Application.EnableEvents = False
Sheets("Expo").Range("G5:S384").FillDown
Application.EnableEvents = True
End If

End Sub
'----------------------------


Salutations!





"dimitry83" a écrit dans le message de news:
Voilà ce que j'ai fait moi-même:

For i = 6 To 384
If Range("Expo!G" & i) = "" Then
Sheets("Expo").Range("G" & i - 1, "G" & i).FillDown
Sheets("Expo").Range("H" & i - 1, "H" & i).FillDown
Sheets("Expo").Range("I" & i - 1, "I" & i).FillDown
Sheets("Expo").Range("J" & i - 1, "J" & i).FillDown
Sheets("Expo").Range("K" & i - 1, "K" & i).FillDown
Sheets("Expo").Range("L" & i - 1, "L" & i).FillDown
Sheets("Expo").Range("M" & i - 1, "M" & i).FillDown
Sheets("Expo").Range("N" & i - 1, "N" & i).FillDown
Sheets("Expo").Range("O" & i - 1, "O" & i).FillDown
Sheets("Expo").Range("P" & i - 1, "P" & i).FillDown
Sheets("Expo").Range("Q" & i - 1, "Q" & i).FillDown
Sheets("Expo").Range("R" & i - 1, "R" & i).FillDown
Sheets("Expo").Range("S" & i - 1, "S" & i).FillDown
i = i + 1
End If
Next

Mais pour que ça marche, il faut un bouton. Comment faire pour que la
macro se déclenche à la validation d'une des cellules de la colonne B
où j'inscris de nouveaux produits?
Avatar
J
Bonjour ChrisV
bien sûr, tu as raison.
dans ma tête, j'avais un pb différent qui était : quand tu es sur la
dernière ligne au bas de ton tableau, comment te recréer une ligne
supplémentaire, en dessous, qui a les mêmes formules et formats que celles
du dessus.

Pour la "question subsidiaire", je ne connaissais pas cette option:
Outils/Options.../Modification/Etendre les formules et formats de plage de
données...


merci encore
J@@

"ChrisV" <>
Je ne comprends pas bien le "plutôt"...
car lorsque tu inserts une ligne, la nouvelle ligne créée se situe-t-elle
au dessus ou au dessous de la cellule à partir de laquelle tu as lancer la
commande...? ;-)

La proc. proposée (insertion d'une ligne au dessus) se comporte donc comme
l'aurait fait Excel...

En ce qui concerne la question subsidiaire, si j'ai bien compris, nul
besoin d'une procédure événementielle, Excel sait le faire tout seul...
Outils/Options.../Modification/Etendre les formules et formats de plage de
données...


ChrisV


"J@@"
ton code me semble insérer une ligne *avant* la dernière,
mais si on veut "ajouter" une ligne *après* la dernière, ne devrait-on
pas plutôt écrire :
'----------------
Sub zazaPlus1()
Dim aCr As Long
Application.ScreenUpdating = False
' ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr).Select
Rows(aCr).Copy Destination:=Rows(aCr + 1)
On Error Resume Next
' au cas zou
Rows(ActiveCell(2).Row).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr + 1).Select
End Sub
'-----------------

Question subsidiaire:
si on veut que la proc se déclenche automatiquement, par exemple après
une saisie manuelle dans la cellule B de la dernière ligne contenant des
formules,
que devrait-on mettre dans ThisWorkBook??

"ChrisV" <
Sub zaza()
Dim aCr As Long
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
Rows(aCr - 1).Copy Destination:=Rows(aCr)
On Error Resume Next
' au cas zou
Rows(ActiveCell(2).Row).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr).Select
End Sub

ChrisV
[allez hop... au dodo !]

"ChrisV" <
Un peu plus rapide...

Sub zaza()
Dim aCr As Long
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
Rows(aCr - 1).Copy Destination:=Rows(aCr)
Rows(ActiveCell(3)).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr).Select
End Sub

"ChrisV"
Bonjour dimitry83,
A partir de la cellule active...

Sub zaza()
Dim aCr As Long
Dim derC As Integer
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
derC = Selection.SpecialCells(xlCellTypeLastCell).Column
Rows(aCr - 1).Copy Destination:=Rows(aCr)
ActiveCell(2).Select
Do
If Not ActiveCell.HasFormula Then ActiveCell.Clear
ActiveCell.Offset(0, 1).Select
Loop While ActiveCell.Column <= derC
Range("A" & aCr).Select
End Sub

"dimitry83" <
J'ai un tableau Excel dans lequel je compte insérer régulièrement des
nouvelles lignes. Est-il possible que les formules contenues dans les
cellules au dessus de la ligne insérée s'y recopient automatiquement
(en respectant bien sûr les adresses relatives employées dans les
formules)?














Avatar
J
Re bonjour ChrisV
Ben je viens de regarder : "option etc" est coché mais ne joue pas le rôle
auquel je pensais qui est de toujours avoir une ligne pour continuer à
saisir.

C'est pour cela que j'avais bricoler ta proc, et que je souhaitais la
glisser dans une proc événementielle :
If Range("A65536").End(xlUp) <> "" Then
zazaPlus1 'made by ChrisV bricolé par ma pomme
quand je quitte A pour aller en B continuer mes saisies (qui ont lieu
toujours en B et parfois en C, D, E, F, K, L, R et S), la proc me fabrique
une ligne de plus, en dessous, qui sera toute prête pour continuer à
travailler quand j'en aurai besoin.
Et je pensais la mettre dans TWB, car j'ai une centaine de feuilles
concernées.
@+
merci pour les lumières
J@@


"ChrisV" <
...ne devrait-on pas plutôt écrire :


Je ne comprends pas bien le "plutôt"...
car lorsque tu inserts une ligne, la nouvelle ligne créée se situe-t-elle
au dessus ou au dessous de la cellule à partir de laquelle tu as lancer la
commande...? ;-)

La proc. proposée (insertion d'une ligne au dessus) se comporte donc comme
l'aurait fait Excel...

En ce qui concerne la question subsidiaire, si j'ai bien compris, nul
besoin d'une procédure événementielle, Excel sait le faire tout seul...
Outils/Options.../Modification/Etendre les formules et formats de plage de
données...


ChrisV


"J@@" <jipivert
ton code me semble insérer une ligne *avant* la dernière,
mais si on veut "ajouter" une ligne *après* la dernière, ne devrait-on
pas plutôt écrire :
'----------------
Sub zazaPlus1()
Dim aCr As Long
Application.ScreenUpdating = False
' ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr).Select
Rows(aCr).Copy Destination:=Rows(aCr + 1)
On Error Resume Next
' au cas zou
Rows(ActiveCell(2).Row).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr + 1).Select
End Sub
'-----------------

Question subsidiaire:
si on veut que la proc se déclenche automatiquement, par exemple après
une saisie manuelle dans la cellule B de la dernière ligne contenant des
formules,
que devrait-on mettre dans ThisWorkBook??

"ChrisV" <
Sub zaza()
Dim aCr As Long
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
Rows(aCr - 1).Copy Destination:=Rows(aCr)
On Error Resume Next
' au cas zou
Rows(ActiveCell(2).Row).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr).Select
End Sub

ChrisV
[allez hop... au dodo !]

"ChrisV" <
Un peu plus rapide...

Sub zaza()
Dim aCr As Long
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
Rows(aCr - 1).Copy Destination:=Rows(aCr)
Rows(ActiveCell(3)).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr).Select
End Sub

"ChrisV"
Bonjour dimitry83,
A partir de la cellule active...

Sub zaza()
Dim aCr As Long
Dim derC As Integer
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
derC = Selection.SpecialCells(xlCellTypeLastCell).Column
Rows(aCr - 1).Copy Destination:=Rows(aCr)
ActiveCell(2).Select
Do
If Not ActiveCell.HasFormula Then ActiveCell.Clear
ActiveCell.Offset(0, 1).Select
Loop While ActiveCell.Column <= derC
Range("A" & aCr).Select
End Sub

"dimitry83" <
J'ai un tableau Excel dans lequel je compte insérer régulièrement des
nouvelles lignes. Est-il possible que les formules contenues dans les
cellules au dessus de la ligne insérée s'y recopient automatiquement
(en respectant bien sûr les adresses relatives employées dans les
formules)?
Merci d'avance
Natacha


















Avatar
ChrisV
Re,

En fait, les lignes que je vais insérer dans mon tableau ne sont pas à
la fin, mais un peu de partout
je veux que dans les autres colonnes de cette ligne les formules se
recopient automatiquement à partir des colonnes correspondantes de la
ligne précédente.


C'est bien comme cela que j'ai compris...
Donc plutôt que d'insérer manuellement une ligne, tu appelles la proc (celle
proposée à 02:08) à partir d'une cellule du tableau, elle réalisera
exactement ce que tu souhaites...


ChrisV


"dimitry83" a écrit dans le message de news:

Merci pour ta proposition, ChrisV !
En fait, les lignes que je vais insérer dans mon tableau ne sont pas à
la fin, mais un peu de partout. Si tu veux, ça ressemble à une liste
de pièces d'une maison (de 1 à 40) (enfin, c'est peut être un peu
beaucoup pour une maison mais on s'en fout) et je rajoute manuellement
des objets dans certaines pièces. P.ex. aujourd'hui je vais rajouter
l'objet X dans la pièce 4. Donc, j'insère une ligne manuellement parmi
les lignes de la pièce 4 et je marque le nom de l'objet inséré (X). Et
je veux que dans les autres colonnes de cette ligne les formules se
recopient automatiquement à partir des colonnes correspondantes de la
ligne précédente.
J'ai essayé moi-même de faire une petite macro, un peu comme ça:

Sub Ma_macro()
'
' ' Pour recopier les formules

For i = 6 To 384 'c'est les lignes concernées du tableau actuel
If Range("Expo!G" & i) = "" Then
Range("Expo!G" & i - 1).Select
Selection.AutoFill Destination:=Range("Expo!G" & i-1: i),
Type:=xlFillDefault
i = i + 1
End If
Next
End Sub

mais ça fait juste 2 jour que j'utilise les macros, donc celle-ci ne
marche pas, erreur de syntaxe avec Autofill


Avatar
ChrisV
Re,

Pour être étendus, les formats et/ou les formules doivent apparaître dans au
moins trois des cinq lignes de la liste qui précèdent la nouvelle ligne...
Fonctionne parfaitement chez moi... du moins sous Excel 2003

Tu peux aussi te servir de la grille (ou formulaire) rappelée initialement
par Denis.
Ou ère ise problème...?


ChrisV


"J@@" a écrit dans le message de news:

Re bonjour ChrisV
Ben je viens de regarder : "option etc" est coché mais ne joue pas le rôle
auquel je pensais qui est de toujours avoir une ligne pour continuer à
saisir.

C'est pour cela que j'avais bricoler ta proc, et que je souhaitais la
glisser dans une proc événementielle :
If Range("A65536").End(xlUp) <> "" Then
zazaPlus1 'made by ChrisV bricolé par ma pomme
quand je quitte A pour aller en B continuer mes saisies (qui ont lieu
toujours en B et parfois en C, D, E, F, K, L, R et S), la proc me fabrique
une ligne de plus, en dessous, qui sera toute prête pour continuer à
travailler quand j'en aurai besoin.
Et je pensais la mettre dans TWB, car j'ai une centaine de feuilles
concernées.
@+
merci pour les lumières
J@@


"ChrisV" <
...ne devrait-on pas plutôt écrire :


Je ne comprends pas bien le "plutôt"...
car lorsque tu inserts une ligne, la nouvelle ligne créée se situe-t-elle
au dessus ou au dessous de la cellule à partir de laquelle tu as lancer
la commande...? ;-)

La proc. proposée (insertion d'une ligne au dessus) se comporte donc
comme l'aurait fait Excel...

En ce qui concerne la question subsidiaire, si j'ai bien compris, nul
besoin d'une procédure événementielle, Excel sait le faire tout seul...
Outils/Options.../Modification/Etendre les formules et formats de plage
de données...


ChrisV


"J@@" <jipivert
ton code me semble insérer une ligne *avant* la dernière,
mais si on veut "ajouter" une ligne *après* la dernière, ne devrait-on
pas plutôt écrire :
'----------------
Sub zazaPlus1()
Dim aCr As Long
Application.ScreenUpdating = False
' ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr).Select
Rows(aCr).Copy Destination:=Rows(aCr + 1)
On Error Resume Next
' au cas zou
Rows(ActiveCell(2).Row).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr + 1).Select
End Sub
'-----------------

Question subsidiaire:
si on veut que la proc se déclenche automatiquement, par exemple après
une saisie manuelle dans la cellule B de la dernière ligne contenant des
formules,
que devrait-on mettre dans ThisWorkBook??

"ChrisV" <
Sub zaza()
Dim aCr As Long
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
Rows(aCr - 1).Copy Destination:=Rows(aCr)
On Error Resume Next
' au cas zou
Rows(ActiveCell(2).Row).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr).Select
End Sub

ChrisV
[allez hop... au dodo !]

"ChrisV" <
Un peu plus rapide...

Sub zaza()
Dim aCr As Long
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
Rows(aCr - 1).Copy Destination:=Rows(aCr)
Rows(ActiveCell(3)).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & aCr).Select
End Sub

"ChrisV"
Bonjour dimitry83,
A partir de la cellule active...

Sub zaza()
Dim aCr As Long
Dim derC As Integer
Application.ScreenUpdating = False
ActiveCell.EntireRow.Insert
aCr = ActiveCell.Row
Range("A" & aCr - 1).Select
derC = Selection.SpecialCells(xlCellTypeLastCell).Column
Rows(aCr - 1).Copy Destination:=Rows(aCr)
ActiveCell(2).Select
Do
If Not ActiveCell.HasFormula Then ActiveCell.Clear
ActiveCell.Offset(0, 1).Select
Loop While ActiveCell.Column <= derC
Range("A" & aCr).Select
End Sub

"dimitry83" <
J'ai un tableau Excel dans lequel je compte insérer régulièrement
des
nouvelles lignes. Est-il possible que les formules contenues dans
les
cellules au dessus de la ligne insérée s'y recopient automatiquement
(en respectant bien sûr les adresses relatives employées dans les
formules)?
Merci d'avance
Natacha






















1 2