Microsoft 365 Prise en charge ajouts lignes via code

JBL07

XLDnaute Occasionnel
Bonjour à tous,

Un petit problème de code que je ne sais pas résoudre :

Voici un l'extrait d'une macro concernant un tableau de comptes qui s'allonge avec l'ajouts d'écritures
Je voudrais que l'indication J9240 ( c'est la dernière ligne actuellement ) puisse être remplacée par une formule ou un code qui actualise les lignes à venir

Actuellement, je reviens régulièrement dans le code pour le faire manuellement... merci par avance

Range("J10").Select
Selection.AutoFill Destination:=Range("J10:J9240")
Range("J10:J9240").Select
Range("I9").Select
 
Solution
Bonjour JBL07, Soan, M12, le forum

*Précision :
le +1 te donnes la 1ere ligne vide après tes données de la colonne B
Si tu veux juste la dernière ligne utilisée écris juste
Derlig = Range("B10").End(xlDown).Row

VB:
Sub Tri_Chrono()
' Tri_Chrono Macro
' Trie toutes les opérations de la plus récente à la plus ancienne

Dim Derlig As Long
' Voir *Précision :
'le +1 te donnes la 1ere ligne vide après tes données de la colonne B
Derlig = Range("B10").End(xlDown).Row + 1

Range("B10:B" & Derlig).Select
ActiveWorkbook.Worksheets("Ecritures").ListObjects("Tabécritures").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Ecritures").ListObjects("Tabécritures").Sort. _
SortFields.Add2 Key:=Range("B10"), SortOn:=xlSortOnValues, Order:= _...

soan

XLDnaute Barbatruc
Inactif
Bonjour JBL07,

je te propose ce code VBA :
VB:
Sub Essai()
  Dim dlg&: Application.ScreenUpdating = 0
  'dlg = n° dernière ligne utilisée, selon la colonne I
  dlg = Cells(Rows.Count, 9).End(3).Row
  [J10].AutoFill Range("J10:J" & dlg)
  [I9].Select
End Sub
soan
 

JBL07

XLDnaute Occasionnel
Merci pour vos réponses, mais je dois vous faire passer le code complet car il y a plusieurs "endroits" où je voudrais intégrer cette donnée, et je n'arrive pas à le faire avec les autres morceaux de codes

Il s'agit de plusieurs macros que j'ai maladroitement associées, et à par ce point, tout fonctionne :)

Sub Tri_Chrono()

' Tri_Chrono Macro
' Trie toutes les opérations de la plus récente à la plus ancienne

Range("B10:B9240").Select
ActiveWorkbook.Worksheets("Ecritures").ListObjects("Tabécritures").Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Ecritures").ListObjects("Tabécritures").Sort. _
SortFields.Add2 Key:=Range("B10"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Ecritures").ListObjects("Tabécritures").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("J10").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(SEARCH(Ecritures!R9C9,Ecritures!RC[-1]),"""")"


Range("Q9240").Select
Selection.AutoFill Destination:=Range("Q10:Q9240"), Type:=xlFillDefault
Range("Q10:Q9240").Select

' MAJ_formule_recherche Macro
' Re balaye la colonne masquée J en cas de décalage formule pour la recherche

Range("J10").Select
Selection.AutoFill Destination:=Range("J10:J9240")
Range("J10:J9240").Select

'
' Maj_dates_écritures Macro
' Mets à jour les dates dans la colonne Année ( C ) après insertion écritures

'
Range("C9").Select
Selection.AutoFill Destination:=Range("Tabécritures[Année]")
Range("Tabécritures[Année]").Select


Range("I9").Select

End Sub
 

Phil69970

XLDnaute Barbatruc
Bonjour JBL07, Soan, M12, le forum

*Précision :
le +1 te donnes la 1ere ligne vide après tes données de la colonne B
Si tu veux juste la dernière ligne utilisée écris juste
Derlig = Range("B10").End(xlDown).Row

VB:
Sub Tri_Chrono()
' Tri_Chrono Macro
' Trie toutes les opérations de la plus récente à la plus ancienne

Dim Derlig As Long
' Voir *Précision :
'le +1 te donnes la 1ere ligne vide après tes données de la colonne B
Derlig = Range("B10").End(xlDown).Row + 1

Range("B10:B" & Derlig).Select
ActiveWorkbook.Worksheets("Ecritures").ListObjects("Tabécritures").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Ecritures").ListObjects("Tabécritures").Sort. _
SortFields.Add2 Key:=Range("B10"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("Ecritures").ListObjects("Tabécritures").Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

Range("J10").Select
ActiveCell.FormulaR1C1 = "=IFERROR(SEARCH(Ecritures!R9C9,Ecritures!RC[-1]),"""")"

Range("Q" & Derlig).Select
Selection.AutoFill Destination:=Range("Q10:Q" & Derlig), Type:=xlFillDefault
Range("Q10:Q" & Derlig).Select

' MAJ_formule_recherche Macro
' Re balaye la colonne masquée J en cas de décalage formule pour la recherche

Range("J10").Select
Selection.AutoFill Destination:=Range("J10:J" & Derlig)
Range("J10:J" & Derlig).Select
'
' Maj_dates_écritures Macro
' Mets à jour les dates dans la colonne Année ( C ) après insertion écritures
'
Range("C9").Select
Selection.AutoFill Destination:=Range("Tabécritures[Année]")
Range("Tabécritures[Année]").Select

Range("I9").Select

End Sub

@Phil69970
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
1 K
Réponses
13
Affichages
2 K

Statistiques des forums

Discussions
312 206
Messages
2 086 216
Membres
103 158
dernier inscrit
laufin