Insertion ligne en fin de tableau

ILoveZadig

XLDnaute Occasionnel
Rebonjour à tous,

Après quasiment 1h de recherche :eek: , je craque et demande votre aide. J'ai trouvé quelques fils que j'aurais peut-être pu exploiter, mais mon faible niveau en VB m'interdit toute tentative de modification des codes que j'ai trouvé. :(

Sur le fichier joint, le tableau dans lequel je souhaiterai qu'à chaque clic sur le bouton, une ligne s'ajoute avec la mise en forme convenable, et la recopie des formules dans les colonnes D et E.

Merci beaucoup par avance.
 

Pièces jointes

  • Macro.xls
    32.5 KB · Affichages: 93
  • Macro.xls
    32.5 KB · Affichages: 95
  • Macro.xls
    32.5 KB · Affichages: 97

ILoveZadig

XLDnaute Occasionnel
Re : Insertion ligne en fin de tableau

J'ai oublié de préciser que j'ajouterai la somme des montants HT déd et TVA déd en bas de ces colonnes. Il faut donc que les lignes ajoutées par macro soient prises en compte dans le calcul de ces sommes.

Merci beaucoup !
 

ILoveZadig

XLDnaute Occasionnel
Re : Insertion ligne en fin de tableau

J'ai continué à travailler dessus, mais je n'y arrive toujours pas. :(

Je vous envoie le fichier avec la macro que j'ai essayé de créer, mais cela ne fonctionne pas comme je voudrais :
  • la ligne inserée l'est toujours au-dessus de la ligne 20 (donc pas à la fin du tableau)
  • j'ai essayé d'inseré la mise en forme (bordures, copie des formules présentes...) dans la macro, sans succès.

Please, help
ludo2604.gif
 

Pièces jointes

  • Macro2.xls
    33 KB · Affichages: 92
  • Macro2.xls
    33 KB · Affichages: 92
  • Macro2.xls
    33 KB · Affichages: 91

wamme

XLDnaute Occasionnel
Re : Insertion ligne en fin de tableau

Bonsoir, voici la macro pour répondre à tes 2 problèmes.

Je te laisse reprendre la partie mise en forme,
mais le principe d'insertion de ligne et de modification de la plage de calcul
devrait te satisfaire.
Regarde la pièce jointe Macro2.xls

A noter: J'ai rajouté une plage nommée Cout_de_l_action
 

Pièces jointes

  • Macro2.xls
    38 KB · Affichages: 177
  • Macro2.xls
    38 KB · Affichages: 176
Dernière édition:

ILoveZadig

XLDnaute Occasionnel
Re : Insertion ligne en fin de tableau

Merci déjà pour cet élément de réponse. :)

Un dernier soucis : l'idéal serait que cette ligne s'ajoute après la dernière ligne du tableau, en gardant sa mise en forme (bordure foncée en bas, formules...)

Je n'ai pas l'impression que c'est possible.. Peut-être des idées? :confused:

Merci en tout cas, je pars déjà de ce fichier comme point de départ.
 
Dernière édition:

wamme

XLDnaute Occasionnel
Re : Insertion ligne en fin de tableau

Bonjour,

Code:
l'idéal serait que cette ligne s'ajoute après la dernière ligne du tableau
la ligne s'ajoute aprés la dernière ligne renseignée

Code:
en gardant sa mise en forme (bordure foncée en bas, formules...)
les formules en colonne D et E sont gardées, les formules coût de l'action prennent en compte de la ligne 10 à la fin du tableau.
La mise en forme est , je pense , correcte même si j'ai indiqué
Je te laisse reprendre la partie mise en forme,
la mise en forme a été faite en grande partie avec l'enregistreur de macro donc à reprendre.

Ou alors je n'ai pas tout compris
 

natorp

XLDnaute Accro
Re : Insertion ligne en fin de tableau

bjr,
voir avec le fichier joint si cela te convient

Cordialement Gérard
 

Pièces jointes

  • Macro2.xls
    29.5 KB · Affichages: 144
  • Macro2.xls
    29.5 KB · Affichages: 138
  • Macro2.xls
    29.5 KB · Affichages: 144

ILoveZadig

XLDnaute Occasionnel
Re : Insertion ligne en fin de tableau

la ligne s'ajoute aprés la dernière ligne renseignée

Bonjour wamme, le forum,

En effet, toutes mes excuses. J'avais testé la macro, en ajoutant juste une somme en colonne A de la dernière ligne, mais il faut que la ligne soit remplie davantage. Cette macro convient donc parfaitement.

Je vais peut-être sembler en vouloir beaucoup, mais est-il possible d'effectuer cette macro avec le classeur verouillé?


Edit : lorsque je lance la macro, les sommes ne se calculent plus? J'ai pourtant essayé de lancer la macro (ajout d'une ligne) puis de renseigner cette ligne, mais la formule somme ne fonctionne plus? Au pire des cas, je dois effacer la formule somme présente, et la remettre, ce qui est un moindre mal. :)
Merci encore en tout cas.
 
Dernière édition:

ILoveZadig

XLDnaute Occasionnel
Re : Insertion ligne en fin de tableau

En effet, le calcul était sur ordre. :rolleyes:

La feuille est protégée avec mot de passe. J'ajoute donc ? (le mot de passe est par exemple : nicolas) :

Code:
Sub Insertion()
[COLOR="red"]ActiveSheet.Unprotect [/COLOR]
derlig = Range("A6").End(xlDown).Row + 1                'recherche première ligne vide
Rows(derlig).Select
Selection.Insert Shift:=xlDown                          'Insertion à la première ligne vide

'*********Mise en forme
' A améliorer
ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    ActiveCell.Offset(-1, 0).Range("A1:E1").Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    ActiveCell.Offset(-1, 3).Range("A1:B1").Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Offset(-2, 0).Range("A1").Select
    Application.CutCopyMode = False
    
    ActiveCell.Offset(1, -3).Range("A1:E1").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = xlAutomatic
    End With

' Aller à "Cout_de_l_action" et modifie les formules
Application.Goto Reference:="Cout_de_l_action"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.Formula = "=SUM(D10:D" & [D10].End(xlDown).Row & ")"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.Formula = "=SUM(E10:D" & [E10].End(xlDown).Row & ")"
[COLOR="Red"]ActiveSheet.Protect [/COLOR]
End Sub

Je suis plus que débutant en VB, donc désolé si les réponses à mes questions peuvent sembler évidentes. :eek:
 

ILoveZadig

XLDnaute Occasionnel
Re : Insertion ligne en fin de tableau

Rebonjour à tous,

Je me suis rendu compte que lorsque l'on ajoute les codes :

Code:
ActiveSheet.Unprotect

Code:
ActiveSheet.Protect

Le verrouillage de la feuille redevient standard, c'est-à-dire avec uniquement la possibilité de sélectionner les cellules verrouillées et non verrouillées.

Est-il possible via cette macro de reverrouiller la feuille avec certains critères précis tels que :
  • Format de cellules
  • Format de colonnes
  • Format de lignes
  • Insérer colonnes/lignes
  • Supprimer colonnes/lignes
  • Utiliser le filtre automatique

Merci beaucoup par avance. :)
 

Discussions similaires

Statistiques des forums

Discussions
312 744
Messages
2 091 574
Membres
104 993
dernier inscrit
Agnès LAURENT