Macro+recopier les formules
Résolu
Vive_la_vie!
-
Vive la vie! -
Vive la vie! -
Bonjour,
J'ai un tableau avec des formules malheureusement je ne peux pas le mettre sur ce site car il y a des données confidentielles nous sommes plusieurs personnes à l'utiliser je ne peux pas protéger les cellules puisque ces personnes là doivent lorsqu'elles insèrent une nouvelle ligne doivent la tirer afin qu'il y ait les formules sur la nouvelle ligne. Le problème c'est que certaines personnes ne savent pas s'y prendre et ca bugg. Les formules vont de la colonne C à J et commence à partir de la ligne 15 ensuite pour chaque ligne c'est les mêmes formules. Y-a-t-il une possibilité de créer une macro qui mette les formules automatiques lorsqu'on crée une nouvelle ligne ? Je pourrais ainsi protéger le document.
J'ai un tableau avec des formules malheureusement je ne peux pas le mettre sur ce site car il y a des données confidentielles nous sommes plusieurs personnes à l'utiliser je ne peux pas protéger les cellules puisque ces personnes là doivent lorsqu'elles insèrent une nouvelle ligne doivent la tirer afin qu'il y ait les formules sur la nouvelle ligne. Le problème c'est que certaines personnes ne savent pas s'y prendre et ca bugg. Les formules vont de la colonne C à J et commence à partir de la ligne 15 ensuite pour chaque ligne c'est les mêmes formules. Y-a-t-il une possibilité de créer une macro qui mette les formules automatiques lorsqu'on crée une nouvelle ligne ? Je pourrais ainsi protéger le document.
A voir également:
- Macro+recopier les formules
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Toutes les formules mathématiques pdf - Télécharger - Études & Formations
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formules excel de base - Guide
7 réponses
bonjour
Le fait d'insérer une ligne ne génère pas d'événement.
On peut contourner cela en générant les formules lors de la saisie de la colonne A, si la cellule était vide auparavant avec ces 2 macro événementielles :
Pour ce qui est de protéger la feuille, il faudra faire attention car la macro mettant en place les formules doit pouvoir écrire dans ces cellules.
Pour cela il faut peut-être rajouter la suppression de la protection avant et la remise après.
Donne nous le résultat de tes test éventuels.
Le fait d'insérer une ligne ne génère pas d'événement.
On peut contourner cela en générant les formules lors de la saisie de la colonne A, si la cellule était vide auparavant avec ces 2 macro événementielles :
Public avant As Variant Private Sub Worksheet_SelectionChange(ByVal sel As Range) If sel.Column = 1 Then avant = sel.Value End Sub Private Sub Worksheet_Change(ByVal sel As Range) If sel.Cells.Count = 1 And sel.Row > 15 Then If sel.Column = 1 And avant = "" Then Cells(sel.Row - 1, 3).Resize(2, 8).FillDown End If End If End Sub
Pour ce qui est de protéger la feuille, il faudra faire attention car la macro mettant en place les formules doit pouvoir écrire dans ces cellules.
Pour cela il faut peut-être rajouter la suppression de la protection avant et la remise après.
Donne nous le résultat de tes test éventuels.
bonjour
Il suffit de remplacer 1 par 2 pour le numéro de colonne :
Il suffit de remplacer 1 par 2 pour le numéro de colonne :
If sel.Column = 2 Then avant = sel.Value If sel.Column = 2 And avant = "" Then
bonjour
pour que la colonne A recopie également les formules?
Tu la rajoutes :
pour que la colonne A recopie également les formules?
Tu la rajoutes :
If sel.Column = 2 And avant = "" Then Cells(sel.Row - 1, 1).Resize(2, 1).FillDown ' colonne A Cells(sel.Row - 1, 3).Resize(2, 8).FillDown ' colonnes C:J End If
J'ai testé mais j'ai pas compris?
J'ai essayé d'insérer une ligne sur un petit test...
https://www.cjoint.com/?3mpwhcguERW
J'ai essayé d'insérer une ligne sur un petit test...
https://www.cjoint.com/?3mpwhcguERW
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
Dans la ligne que tu as inséré tu saisis une valeur dans la cellule de ta colonne A insérée et les formules se mettent en place.
Si ma méthode ne convient pas à l'utilisation, il est possible de le faire autrement.
Dans la ligne que tu as inséré tu saisis une valeur dans la cellule de ta colonne A insérée et les formules se mettent en place.
Si ma méthode ne convient pas à l'utilisation, il est possible de le faire autrement.