Bonjour,
J'ai créé une macro sur Excel 2010 qui fonctionne sans problèmes quand je la lance avec Excel 2010. Cependant, lorsque j'essaie avec Excel 2007 ou 2003, ça ne fonctionne plus.
Voici le code de la macro:
	
	
	
	
	
		
Je m'excuse pour le caractère peut être un peu indigeste de la macro, qui effectue des copier-coller et trie des tableaux.
Les erreurs semblent provenir des moments où la macro trie les données....
Est-ce que quelqu'un peut m'aider à rendre la macro compatible avec les versions 2003 et 2007 s'il vous plait ?
Merci d'avance pour votre aide!
	
		
			
		
		
	
				
			J'ai créé une macro sur Excel 2010 qui fonctionne sans problèmes quand je la lance avec Excel 2010. Cependant, lorsque j'essaie avec Excel 2007 ou 2003, ça ne fonctionne plus.
Voici le code de la macro:
		Code:
	
	
	Sub MiseàjourUP1()
'
'Suppression du filtre Niveau3
'
    Sheets("Niveau3").Select
    Range("$I$1:$I$48").AutoFilter Field:=1
'
'Copier-Coller Liste Arrêts
'
    Sheets("Niveau2").Select
    Columns("A:D").Select
    Selection.ClearContents
    Range("E19").Select
    Sheets("Niveau3").Select
    Columns("A:D").Select
    Selection.ClearContents
    Range("E11").Select
    Workbooks.Open Filename:="T:\ListeArrets.xlsx"
    Sheets("Résultats").Select
    Columns("F:I").Select
    Selection.Copy
    Windows("Causes Arrêt Ligne et TRH - UP1.xlsm").Activate
    Range("B48").Select
    Sheets("Niveau2").Select
    Range("A1").Select
    ActiveSheet.Paste
    Range("E29").Select
    Sheets("Niveau3").Select
    Range("A1").Select
    ActiveSheet.Paste
    Range("E15").Select
'
'
'Filtrer les 3 premières causes
'
    Sheets("Niveau3").Select
    ActiveSheet.Range("$I$1:$I$48").AutoFilter Field:=1, Criteria1:=RGB(255, _
        199, 206), Operator:=xlFilterCellColor
'
'Masquer les cellules vides Niveau3
'
Sheets("Niveau3").Select
    Dim cel As Range
    For Each cel In Range("H2:H49")
    If cel = "" Then
    cel.EntireRow.Hidden = True
    End If
    Next
'
'Fin 1 et date page d'accueil
'
Sheets("Accueil").Select
Windows("ListeArrets.xlsx").Activate
Sheets("En-Tête").Select
    Range("A2:C4").Select
    Selection.Copy
    Windows("Causes Arrêt Ligne et TRH - UP1.xlsm").Activate
    Sheets("Accueil").Select
    Range("A1").Select
    ActiveSheet.Paste
    Range("B30").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    Windows("ListeArrets.xlsx").Activate
    ActiveWindow.Close
'
'
'
'
'
'Diagramme niveau3
'
Sheets("Diagramme niveau3").Select
Range("B1:C38").Select
    Selection.EntireRow.Hidden = False
    Range("A1:C39").Select
    Selection.ClearContents
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Sheets("Niveau3").Select
    Range("F2:H39").Select
    Selection.Copy
    Sheets("Diagramme niveau3").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-9
    Range("B1:B38").Select
    Application.CutCopyMode = False
'
'
'Masquer les cellules vides diagramme Niveau3
'
Sheets("Diagramme niveau3").Select
    Dim cels As Range
    For Each cels In Range("C1:C38")
    If cels = "" Then
    cels.EntireRow.Hidden = True
    End If
    Next
'
'Couleur graph niveau3
'
    Sheets("Diagramme niveau3").Select
    Dim Sér As Series, PlgX As Range, I As Long
    Set Sér = ActiveSheet.ChartObjects("Graphique 1").Chart.SeriesCollection(1)
    Set PlgX = Application.Range(Split(Sér.Formula, ",")(1))
    For I = 1 To Sér.Points.Count
        Sér.Points(I).Interior.Color = PlgX.Rows(I).Interior.Color
        Next I
'
End Sub
	Je m'excuse pour le caractère peut être un peu indigeste de la macro, qui effectue des copier-coller et trie des tableaux.
Les erreurs semblent provenir des moments où la macro trie les données....
Est-ce que quelqu'un peut m'aider à rendre la macro compatible avec les versions 2003 et 2007 s'il vous plait ?
Merci d'avance pour votre aide!
			
				Dernière édition: