cODE MONTER - DESCENDRE ETC...

barbin

XLDnaute Junior
Bonsoir à tout le forum.

Mon application "Bulletin de paie" touche à sa fin, et je souhaiterai y apporter quelques améliorations.
Dans la partie des cotisations, Dans la fueuille "NC EXO12, j'ai mis 4 boutons qui permettent de : Insérer , Supprimer, Faire monter et descendre des lignes de cotisations.
Excel permet il de faire cela ?
Pouvez vous me donnez une procédure à suivre, en sachant que les lignes insérées ou déplacées doivent garder le formules de calcul.
Merci de vous intéresser 'intérêts à mon sujet.
Cordialement Blacksoul
 

Pièces jointes

  • Logiciel-bulletin de paie3.0.xlsx
    898 KB · Affichages: 34

barbin

XLDnaute Junior
Bonjour,
J'ai pu trouver le code pour le bouton Supprimer et insérer. Cependant, l'insertion et la suppression se fat toujours sur la même ligne.
comment faire pour insérer sur la ligne sélectionnée et supprimer la ligne sélectionnée ?
Merci.
Voici le code :
Sub Macro1()
'
' Macro1 Macro
'

'
Rows("44:44").Select
Range("B44").Activate
Selection.Delete Shift:=xlUp
Range("B44:J44").Select
End Sub
 

vgendron

XLDnaute Barbatruc
Hello

avec ces deux codes pour commencer..
VB:
Sub Supprimer()
Set rep = Application.InputBox("sélectionnez une cellule sur la ligne à supprimer", Type:=8) 'demande de sélectionner une cellule
rep.EntireRow.Delete 'suppression de la ligne complète !! pas de controle sur la zone qui va surement devoir etre limitée..

End Sub

Sub Inserer()

Set rep = Application.InputBox("sélectionnez une cellule au dessus de la quelle il faut insérer une ligne", Type:=8)
Application.ScreenUpdating = False
rep.EntireRow.Insert (xlUp) 'insertion d'une ligne au dessus
rep.EntireRow.Select 'selection de la ligne complète
Selection.AutoFill Destination:=Selection.Offset(-1).Resize(2), Type:=xlFillDefault 'recopie des formules vers le haut
Range("B" & rep.Row - 1).Select 'sélection de la zone fusionnée en colonne B-J
Selection.ClearContents 'on efface son contenu

Application.ScreenUpdating = True
End Sub
 

vgendron

XLDnaute Barbatruc
et pour les deux autres
VB:
Sub Monter()
    Set rep = Application.InputBox("sélectionnez une cellule au dessus de la quelle il faut insérer une ligne", Type:=8)

    rep.EntireRow.Cut
    rep.EntireRow.Offset(-1).Insert shift:=xlDown
End Sub

Sub Descendre()
    Set rep = Application.InputBox("sélectionnez une cellule au dessus de la quelle il faut insérer une ligne", Type:=8)

    rep.EntireRow.Cut
    rep.EntireRow.Offset(2).Insert shift:=xlDown

End Sub
 

barbin

XLDnaute Junior
Merci, je n'en demandais pas tant. C'est parfait.
Peut on faire en sorte de garder les les couleurs des lignes, c'est à dire une ligne bleu toute les deux lignes.
Si ce n'est pas possible, ce n'est pas grave, je ne garderai pas les couleurs.
 

vgendron

XLDnaute Barbatruc
l'idéal serait de transformer tes tableaux en table excel, et du coup, le style s'adapte en fonction du nombre de lignes
le problème, c'est que ta colonne B est fusionnée sur plusieurs colonnes;. et ca. les tables.. elles aiment pas

après. il faudrait ajouter du code pour "effacer" la mise en forme et la remettre correctement..
mais ca fait du code en plus..et la. tout de suite. je vois pas
sinon. une idée qui me vient comme ca.. avec une MFC peut etre??
genre. si la ligne est paire, on la met en bleu, sinon en blanc. j'ai jamais essayé et ne sais pas si c'est possible..
 

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz