Bonjour,
J'ai un code qui me permets d'ouvrir la boite de parcourir pour sélectionner une feuille .xls et la copier sur ma feuille active.
Mon souci est que la feuille à copier est une extraction automatique tous les 15 jours et donc parfois le tableau change de structure c'est à dire que au lieu de commencer de la colonne A, il est décalé à partir de la colonne B et c'est pareil aussi pour les lignes.
Vu que j'utilise des macros pour faire des calculs donc il faut absolument que je garde la même structure.
Ma question: est ce qu'on peut mettre en place un code qui permets de détecter si mon tableau ne commence par de la première ligne et la colonne B, et s'il est décaler prendre en considération le décalage pour copier.
Voici mon code :Par avance merci.
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 Sub MAJ_Histo() Dim a As Variant, Nom As String a = Application.GetOpenFilename("Feuilles de calcul (*.xlsx;*.xls), *.xls; *.xlsx", , , , True) Select Case TypeName(a) Case Is = "Boolean" Exit Sub Case Else For b = LBound(a) To UBound(a) Workbooks.Open a(b) Next End Select Nom2 = ActiveWorkbook.Name Cells.Select Selection.Copy 'Windows(Nom).Activate Workbooks("Outil de pilotage VJ1.xlsm").Sheets("Histo").Activate With Range("A1") .PasteSpecial Paste:=xlPasteValues .PasteSpecial Paste:=xlPasteColumnWidths .PasteSpecial Paste:=xlPasteFormats .Application.CutCopyMode = False End With Application.DisplayAlerts = False Windows(Nom2).Close Application.DisplayAlerts = True End Sub
Partager