Macro VBA - automatiser la macro pour pouvoir ajouter/supprimer des lignes

JeanPiere

XLDnaute Nouveau
Bonjour,

Je n'arrive pas à simplifier cette macro afin que quand je rajoute des lignes, celle -ci fonctionne toujours et ne s'arrête pas aux lignes 44 (ou 45 à la fin de la macro) mais respectivement 46 et 47 si je rajoute 2 lignes.

Une idée ?

Merci d'avance

JP


Sub Tri_JeanPiere()
'
' Tri_JeanPiere Macro
'

'
Range("D6").Select
Range(Selection, Selection.End(xlDown)).Select
Rows("6:44").Select
Range("D6").Activate
ActiveWorkbook.Worksheets("Liste JeanPiere").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Liste JeanPiere").Sort.SortFields.Add Key:=Range( _
"D6:D44"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Liste JeanPiere").Sort
.SetRange Range("A6:L44")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("D6").Select
Sheets("Inputs").Select
Rows("6:7").Select
Selection.Copy
Sheets("Liste JeanPiere").Select
Rows("6:6").Select
Range("D6").Activate
Range(Selection, Selection.End(xlDown)).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A6").Select
Sheets("Inputs").Select
Range("A6").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste JeanPiere").Select
ActiveSheet.Paste
Range("D6").Select
Selection.End(xlDown).Select
Rows("45:45").Select
Range("D45").Activate
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Application.Goto Reference:="R1C1"
End Sub
 

Paritec

XLDnaute Barbatruc
Re : Macro VBA - automatiser la macro pour pouvoir ajouter/supprimer des lignes

Bonsoir Jeanpierre le forum,
Oui l'enregistreur de macro ne donne pas cette possibilité
le plus simple tu mets un bout de fichier et quelques explications et on te fera cela sans soucis
a+
papou :)
 

JeanPiere

XLDnaute Nouveau
Re : Macro VBA - automatiser la macro pour pouvoir ajouter/supprimer des lignes

Bonsoir Jeanpierre le forum,
Oui l'enregistreur de macro ne donne pas cette possibilité
le plus simple tu mets un bout de fichier et quelques explications et on te fera cela sans soucis
a+
papou :)

Bonjour Paritec,

Merci pour ton aide. Je vais préparer le fichier. Mais comment l'échange t on via le forum ?
Je vais tacher de comprendre ce que vous aurez fait.

Merci
 

Paritec

XLDnaute Barbatruc
Re : Macro VBA - automatiser la macro pour pouvoir ajouter/supprimer des lignes

Re Jean pierre le forum
oui tu fais un fichier sans données confidentielles ressemblant au tient en tout points et tu le joins au format .xls et il ne doit pas dépasser 48 Ko s'il dépasse tu le comprime en .zip et tu l'ajoutes à ton post dans gérer les pièces jointes tout en bas de ton post tu verras
a+
papou :)
 

JeanPiere

XLDnaute Nouveau
Re : Macro VBA - automatiser la macro pour pouvoir ajouter/supprimer des lignes

Merci Paritec.

J'ai joint le fichier en Zip (il fait dans les 55 ko)
 

Pièces jointes

  • Classeur1.zip
    11.5 KB · Affichages: 75
  • Classeur1.zip
    11.5 KB · Affichages: 78
  • Classeur1.zip
    11.5 KB · Affichages: 72

Paritec

XLDnaute Barbatruc
Re : Macro VBA - automatiser la macro pour pouvoir ajouter/supprimer des lignes

Bonsoir JeanPierre le forum
Ton petit UP est une bonne idée.
As tu remarqué le grand nombre de réponses que tu as eu?
alors ou tout le monde est bête comme moi, qui n'ai pas compris un traitre mot de tes explications, ou alors tes explications sont très mauvaises?
Tu parles de sélectionner les lignes 6 à 12 de la feuille JeanPïerre et de la trier de A à Z sur la colonne D voilà qui est compréhensible. (la macro ci-dessous fait cela)
Mais après il faut formater par rapport à la ligne 6 et 7 qui ne possèdent pas de format, et après coller de la ligne 6 à la ligne 500 mais quoi en respectant quoi et pour qui et comment???????????????????????????,
Voilà j'ai ouvert pas compris refermé et les autres ont fait comme moi.
Peut-être pourrais-tu revoir ton petit fichier, mettre des explications dedans avec un exemple de ce que tu as au début de ce que tu souhaites obtenir surtout en ce qui concerne le collage car là ???????,,
dans l'attente d'explications(dans le fichier comme tu as fait mais en compréhensible et on fera cela pour toi)
a+
papou :)

PS: pour ta première demande
Code:
Sub Classer()
    With Feuil2
        .Range("A6:L" & .Range("A65000").End(xlUp).Row).Sort Key1:=.Range("D6"), Order1:=xlAscending, Header:=xlNo
    End With
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87