1 pièce(s) jointe(s)
Macro Excel Déplacer Cellule+Insertion
Bonjour à tous,
Je trouve toujours réponse a mes questions en consultant les sujets existants, sauf quand ca touche aux macros, ou la solution n'est pas toujours à portée de clic :mouarf:
Fichier excel en exemple. J'ai trouvé une macro qui déplace des cellules, mais je n'en comprends pas son fonctionnement et du fait, je ne sais pas exactement de quelle façon me l'approprier.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Sub TEST()
'
Range("A3917").Activate
ActiveCell.CurrentRegion.Select
'MsgBox ActiveCell.CurrentRegion.Rows.Count
nombrel = ActiveCell.CurrentRegion.Rows.Count / 2
Range("A3918").Select
For i = 1 To nombrel
Selection.EntireRow.Insert
Selection.Offset(1, 0).Select
Next i
End Sub
Sub Macro4()
'
' Macro4 Macro
'
'
Range("A8").Activate
Range("A8:I8").Select
Selection.Delete shift:=xlToLeft
End Sub
Sub Decalage()
Dim Lg As Long
Dim J As Long
Application.ScreenUpdating = False
For J = 30 To Range("J65536").End(xlUp).Row Step 2
If Application.CountA(Range("A" & J).Resize(1, 9)) = 0 Then
Range("A" & J).Resize(1, 9).Delete shift:=xlShiftToLeft
End If
Next J
End Sub |
Je ne sais pas si tout est à reprendre ou s'il faut créer quelque chose de nouveau.
L'idée, avec le bouton Macro, déplacer des cellules inscrites manuellement en colonne B et D(celles inscrites dans le cadre en tirets, ici créé pour l'exemple mais sera absent de mon fichier final).
L'un des 3 codes plus bas (1, 2 ou 3) est aussi inséré manuellement dans le cadre jaune.
J'aimerais donc les coller en insérant de nouvelles lignes dans l'onglet Source, idéalement dans les premieres lignes pour chaque code client.
De plus, j'ai une macro sur un autre fichier qui enregistre une copie de la feuille actuelle, est il possible par la même occasion et donc le même bouton, enregistrer la feuille active sur un nouveau fichier ? (Juste avant d'avoir déplacé les cellules par exemple)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Sub saveAndQuit()
On Error Resume Next
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Users\lereuland\Desktop\" _
& Range("C9").Value & ".xlsm"
'ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
Sub Archiver()
Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy
extension = ".xls"
chemin = "C:\Users\lereuland\Desktop\"
nomfichier = ActiveSheet.Range("C9") & " " & Format(Date, "dd-mm") & extension
With ActiveWorkbook
.ActiveSheet.DrawingObjects(1).Delete
.SaveAs chemin & nomfichier, xlExcel8
.ActiveSheet.UsedRange.Value = .ActiveSheet.UsedRange.Value
.Close True
End With
Application.ScreenUpdating = True
End Sub |
Lors de l'enregistrement j'ai quelques messages d'erreur de compatibilité, je vous posterai les screens si je les ai toujours avec ce nouveau fichier si vous voulez bien :P
J'espère avoir bien expliqué ma demande, n'hésitez pas à me demander des précisions supplémentaires au besoin. Merci beaucoup à vous !