Macro figé place de cellules
Bonjour,
Dans mon fichier PREPA FRAIS BANCAIRES, il y a un bouton macro « Renommer » qui permet de changer les libellés de la colonne K selon une LISTE prédéfini.
Cette macro reformate aussi la plage de cellules A21 à N442 pour le ramener à 5 colonnes.
Mon souci lors de l’exécution de cette macro, la plage de cellules K5 à L5 est décalée.
Comment peut-on faire pour figer cette plage ? J'ai parcouru sur différents forum et il y a la fonction "ScrollArea" à mettre dans le code, mais sans succès.
En vous remerciant de votre aide
Bonjour
Remplace ton code par celui ci-dessous
Sub Renommer()
Dim dlg As Integer
dlg = Range("A" & Rows.Count).End(xlUp).Row
Range("M:N").Delete
Union(Range("A20:A" & dlg), Range("C20:D" & dlg), Range("F20:H" & dlg), Range("J20:J" & dlg), Range("L20:L" & dlg)).Delete
With Range("A20:D20").Font
.Bold = True
.Name = "Calibri"
.Size = 12
End With
Range("D20").ColumnWidth = 40
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
'COMM REMISES EFFETS'
Columns("D").Replace "CIONS REM N*", "COM REMISES EFFETS", xlWhole
Columns("D").Replace "VI TRESORERIE", "COM REMISES EFFETS", xlWhole
Columns("D").Replace "COM ENC EFF VOTRE R F RENCE", "COM REMISES EFFETS", xlWhole
'COM SUR REM CB'
Columns("D").Replace "SUR REMISE C.B. DU *", "COM SUR REM CB", xlWhole
Columns("D").Replace "COMMISSIONS SUR REMISE CB", "COM SUR REM CB", xlWhole
'FRAIS OPPOSITION'
Columns("D").Replace "FRAIS OPPOSITION CHEQUE", "FRAIS OPPOSITION", xlWhole
Columns("D").Replace "RETROCESSION FRAIS OPPOSITION C", "FRAIS OPPOSITION", xlWhole
Columns("D").Replace "FRAIS OU COMMISSIONS DU*", "FRAIS OPPOSITION", xlWhole
'COM SUR IMPAYES'
Columns("D").Replace "COMMISSIONS SUR IMPAYE LCR", "COM SUR IMPAYES", xlWhole
'ABON TELETRANSMISSION'
Columns("D").Replace "COTIS CYBERPLUS", "ABON TELETRANSMISSION", xlWhole
Columns("D").Replace "COTIS TELETRANSMISSION", "ABON TELETRANSMISSION", xlWhole
Columns("D").Replace "FRAIS VIR EUROP. PAPIER", "ABON TELETRANSMISSION", xlWhole
Columns("D").Replace "FRAIS ABT TELETRANS", "ABON TELETRANSMISSION", xlWhole
Columns("D").Replace "ABON TURBO ON LINE ENT", "ABON TELETRANSMISSION", xlWhole
Columns("D").Replace "COM REMONTEE AUTO.DE FONDS", "ABON TELETRANSMISSION", xlWhole
'FRAIS ENVOI CHEQUIER
Columns("D").Replace "FRAIS SERVICE ENVOI CHEQUIER", "FRAIS ENVOI CHEQUIER", xlWhole
Columns("D").Replace "FRAIS POSTAUX ENVOI DE CHEQUIER", "FRAIS ENVOI CHEQUIER", xlWhole
'COM PRELEVEMENT'
Columns("D").Replace "FRAIS MEP VIR PER", "COM PRELEVEMENT", xlWhole
Columns("D").Replace "FRAIS EURO PRLV EBICS", "COM PRELEVEMENT", xlWhole
'COM SUR IMPAYES'
Columns("D").Replace "COM S IMPAYES", "COM SUR IMPAYES", xlWhole
'COM SUR VIRT
Columns("D").Replace "NTL RECU *", "COM SUR VIRT", xlWhole
Columns("D").Replace "NTL ELEC *", "COM SUR VIRT", xlWhole
Columns("D").Replace "CIONS/O/TRANSF *", "COM SUR VIRT", xlWhole
Columns("D").Replace "GEH COM/TRF*", "COM SUR VIRT", xlWhole
Columns("D").Replace "*COM/TRF*", "COM SUR VIRT", xlWhole
'COM NON UTILISATION CMT
Columns("D").Replace "COM NON UTIL*", "COM NON UTILISATION CMT", xlWhole
Range("A20:E20").AutoFilter
With Range("E20")
.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],LISTE_COMD,2,FALSE),0)"
.AutoFill Destination:=Range("E20:E" & dlg)
End With
Range("$A$20:$E" & dlg).AutoFilter Field:=5, Criteria1:="0"
End SubSi ok, clique sur le v vert à coté du bouton EDITER pour cloturer le fil lors de ta réponse
Cordialement
Bonjour Dan,
Merci de ta réponse, quand j'exécute ton code , je ne comprends pas pourquoi il y a 5 colonnes qui sont insérés.
Cordialement.
Re
Il n'insère pas 5 colonnes. Tu as demandé ceci -->
Mon souci lors de l’exécution de cette macro, la plage de cellules K5 à L5 est décalée.
Comment peut-on faire pour figer cette plage ?
Ce qui est en K et L reste en place à moins que j'ai mal compris cette demande
Cordialement
bonjour,
C'est exact j'avais mal vu.
Merci