Problème de compatibilité entre version 97 et version 2000

R

rod

Guest
Voilà mon problème : j'ai créé un classeur sous excel 97 et lorsque je l'ouvre sous excel 2000, le logiciel m'annonce que le document contient des macros (ce qui est faux) et me demande si je veux activer ou désactiver les macros. Qu'on active ou qu'on désactive le résultat est le même (puisque le classeur ne contient pas de macros) et tout fonctionne normalement.

Y a-t-il un moyen pour que excel 2000 ne pose plus cette question ?

P.S. : sous excel 97, la question n'est jamais posée.
 
@

@Christophe@

Guest
Bonjour Rod

En faite, il doit bien y avoir un macro a l'interieur de ton fichier, mais tu ne le sais probablement pas.

Sur ton 97 le niveau de sécurité etais probablement sur faible, ce qui fais que tu ne devais jamais répondre a cette question

Sur 2000 ce que tu fais, tu ouvre excell, tu vas dans le menu OUTILS, puis MACRO, puis SECURITE, et la tu selectionne le niveau de sécurité ce FAIBLE et il ne te possera plus jamais de question sur accepté ou pas les macro, mais fais gaffe au virus dans ce qu'as la, parce que si tu ouvre un fichier du net, tu ne seras pas si il contient un macro qui peux contenir un virus, a toi de voir

@+

Christophe
 
R

rod

Guest
OK, ça marche, merci.

J'ai une autre question : est-il possible de trier les feuilles d'un classeur par ordre alphabétique (par exemple) ?
 
@

@+Thierry

Guest
Salut Rod et @Xtof@

Pour trier les Feuilles il y a plusieurs méthodes, en voici une...
Offerte par Michel Pierron (MPFE)

'cette procédure respecte le tri des indices par défaut des feuilles
'(feuil1,feuil2,.....,feuil11 et non feuil1,feuil11,feuil2)

Sub SheetsSort()
'Michel Pierron, mpfe
Dim id As Byte, no As Byte, ValNom(1) As Byte
Dim StrNom(1) As String

no = 1
Application.ScreenUpdating = False
Do While no < Sheets.Count
id = Sheets.Count
Do While id > no
If IsAlphaNum(Sheets(id).Name) And IsAlphaNum(Sheets(id - 1).Name) Then
StrNom(0) = Left(Sheets(id).Name, Len(Sheets(id).Name) - iPos(Sheets(id).Name))
ValNom(0) = Mid(Sheets(id).Name, Len(StrNom(0)) + 1)
StrNom(1) = Left(Sheets(id - 1).Name, Len(Sheets(id - 1).Name) - iPos(Sheets(id - 1).Name))
ValNom(1) = Mid(Sheets(id - 1).Name, Len(StrNom(1)) + 1)
Select Case StrComp(StrNom(0), StrNom(1), 1)
Case -1
Sheets(id).Move Before:=Sheets(id - 1)
Case 0
If ValNom(0) < ValNom(1) Then Sheets(id).Move Before:=Sheets(id - 1)
End Select
Else
If StrComp(Sheets(id).Name, Sheets(id - 1).Name, 1) = -1 Then
Sheets(id).Move Before:=Sheets(id - 1)
End If
End If
id = id - 1
Loop
no = no + 1
Loop
Sheets(1).Activate
Application.ScreenUpdating = True
End Sub

Private Function IsAlphaNum(NameSheet As String) As Boolean
IsAlphaNum = Not IsNumeric(NameSheet) And IsNumeric(Right(NameSheet, 1))
End Function

Private Function iPos(NameSheet As String) As Byte
iPos = 0
Do While IsNumeric(Right(NameSheet, iPos + 1))
iPos = iPos + 1
Loop
End Function


@+Thierry
 

Discussions similaires


Haut Bas