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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
J'espère avoir bien expliqué ma demande, n'hésitez pas à me demander des précisions supplémentaires au besoin. Merci beaucoup à vous !
Partager